Pages enfant
  • Elements de repères OpenID Connect (vs CAS & shibboleth)

Comparaison des versions

Légende

  • Ces lignes ont été ajoutées. Ce mot a été ajouté.
  • Ces lignes ont été supprimées. Ce mot a été supprimé.
  • La mise en forme a été modifiée.

...

C'est le plus classique, proche de CAS et/ou proxy CAS :

CASOIDCSAML 2
Server
IPD ou OpenID provider

OP (OpenID Provider) ou Authorization

server

Server

IDP
Service

Client ou RP (Relying Party)

SP
/login
/
authorization_endpoint

/serviceValidate

/p3/serviceValidate

token_endpointHTTP Artifact

userinfo_endpointAttribute Query
Paramètres :
 


serviceclient_id & redirect_uri & state
SAMLRequest
ticket

code

Artifact
gatewayprompt=noneisPassive
renewprompt=loginForceAuthn

acr_valuesAuthnContextClassRef

Un peu similaire :

 


proxy ticket (valide une fois)access token (valide un certain temps)
PGTrefresh token

Comparé à CAS, le client (service (client) doit s'enregistrer sur le serveur (l'IDP ) pour avoir un "client_id" et un "client_secret".

Autres code flow

Flowresponse_typeresponse_mode
Authorization code"code"query
Implicit"id_token token" ou "id_token"fragment
Hybrid"code id_token" ou "code token" ou "code id_token token"fragment

Dans le cas "response_type=id_token", l'id_token contient toutes les claims demandés par le paramètre "scope".

Dans les autres cas, les claims doivent être récupérés en faisant une requête /userinfo avec l'access token.

response_mode

  • query (CAS, SAML "HTTP ArtifactRedirect")
  • fragment (implicit grant, #code#token=xxx, était possible avec CAS < 3.4.4 en mettant un "#" dans l'url "service", mais ne donne donnait accès qu'au ticket, pas plus)
  • form_post (à la SAML "HTTP PostPOST")

expérimental : 

http://connect2id.com/products/server/docs/config/core#op-authz-responseModes
https://openid.net/specs/oauth-v2-multiple-response-types-1_0.html

Mapping eduPerson attributes to OIDC claims

https://wiki.refeds.org/display/GROUPS/Mapping+SAML+attributes+to+OIDC+Claims

Implémentations OpenID Connect

Apereo CAS

NB : le userinfo_endpoint est /profile