OpenID Connect JSON Web Token
OttoLearn supports single sign-on (SSO) for our desktop and mobile apps through OpenID Connect.
If you're interested in using this feature, contact our support team.
ID Token
Full specification: http://openid.net/specs/openid-connect-core-1_0.html#IDToken
The ID Token is a security token formatted as a JWT (JSON Web Token) that is used to assert claims about a user to OttoLearn.
Required Fields
Authentication Claims:
iss - Issuer is a URL using the https:// schema (Eg. https://example.com)
sub - Subject is a locally unique identifier for the user that is never reassigned (Eg. User Id or UUID)
aud - Audience is the name of the client that the ID token is for (Eg. otto-learner-web-client or otto-admin-web-client)
exp - Expiration time on or after which the ID Token MUST NOT be accepted. Number of seconds since unix epoch
iat - The time at which the ID Token was issued. Number of seconds since unix epoch
User Profile Claims:
preferred_username - The username of the user
email - The email address of the user
email_verified - Is the email address verified
{
"iss": "https://example.com",
"sub": "2134913",
"aud": "otto-learner-web-client",
"exp": 1519655938,
"iat": 1519655960,
"preferred_username": "john.smith",
"email": "[email protected]",
"email_verified": true
}
ID Token Signing and Encryption
The ID Token MUST be signed and may optionally be signed and encrypted using any supported JWA format.
The above ID Token example signed as a JWT with the HS256 algorithm using the preshared key 'secret'
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJodHRwczovL2V4YW1wbGUuY29tIiwic3ViIjoiMjEzNDkxMyIsImF1ZCI6Im90dG8tbGVhcm5lci13ZWItY2xpZW50IiwiZXhwIjoxNTE5NjU1OTM4LCJpYXQiOjE1MTk2NTU5NjAsInByZWZlcnJlZF91c2VybmFtZSI6ImpvaG4uc21pdGgiLCJlbWFpbCI6ImpvaG4uc21pdGhAZXhhbXBsZS5jb20iLCJlbWFpbF92ZXJpZmllZCI6dHJ1ZX0.R1f7PggR1bt92LSM9rCSa52TjIRIwrTv3Xqt8RB6qvM
Passing ID Token to client (Implicit Flow)
https://neotest.mlearn.io/Admin/#id_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJodHRwczovL2V4YW1wbGUuY29tIiwic3ViIjoiMjEzNDkxMyIsImF1ZCI6Im90dG8tbGVhcm5lci13ZWItY2xpZW50IiwiZXhwIjoxNTE5NjU1OTM4LCJpYXQiOjE1MTk2NTU5NjAsInByZWZlcnJlZF91c2VybmFtZSI6ImpvaG4uc21pdGgiLCJlbWFpbCI6ImpvaG4uc21pdGhAZXhhbXBsZS5jb20iLCJlbWFpbF92ZXJpZmllZCI6dHJ1ZX0.R1f7PggR1bt92LSM9rCSa52TjIRIwrTv3Xqt8RB6qvM
https://neotest.mlearn.io/Client/Login/login.html#id_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJodHRwczovL2V4YW1wbGUuY29tIiwic3ViIjoiMjEzNDkxMyIsImF1ZCI6Im90dG8tbGVhcm5lci13ZWItY2xpZW50IiwiZXhwIjoxNTE5NjU1OTM4LCJpYXQiOjE1MTk2NTU5NjAsInByZWZlcnJlZF91c2VybmFtZSI6ImpvaG4uc21pdGgiLCJlbWFpbCI6ImpvaG4uc21pdGhAZXhhbXBsZS5jb20iLCJlbWFpbF92ZXJpZmllZCI6dHJ1ZX0.R1f7PggR1bt92LSM9rCSa52TjIRIwrTv3Xqt8RB6qvM