OpenID Connect 1.0は、OAuth2.0プロトコルの上にある単純なIDレイヤーです。 これは、既存のOAuth認証フローを補足し、ユーザーに関する情報をクライアントに適切に説明された方法で提供します。
OpenID接続は、OAuthを実装し、認証されたユーザーに関する情報を共有するための標準化された方法です。 使用するサービスを構成できるようになります ORCID 他の標準に準拠したOpenID Connectプロバイダーと並んで「すぐに使える」。OpenID Connectは、ユーザーが認証されたことを証明できる署名付きオブジェクトである共有可能なIDトークンも提供する。 ORCID 特定の時間に。 これらのトークンは、ユーザーインターフェイス要素がユーザーセッションを維持するために使用できます。
ORCID OAuth認証コードフローの拡張である基本的なOpenIDプロバイダー適合性プロファイルをサポートします。 ORCID 「/ authenticate」スコープと「openid」スコープの暗黙的なトークンフローもサポートします。
これは、 ORCID:
- 'openid' スコープで生成された認証コードのトークン応答内に署名された ID トークンを埋め込みます。
- 'token'または 'token id_token'response_typesおよび' openid 'スコープを使用する場合の暗黙的なフローをサポートします。
- 'openid'スコープを含む承認リクエストの 'prompt'、 'nonce'、および 'max_age'パラメーターをサポートします。
- OpenidConnectの検出とuserinfoエンドポイントをサポートします
- 「openid」スコープを含む承認リクエストのメンバー API を使用するインテグレータの「amr」フィールドをサポートします。 これを使用して、ユーザーが XNUMX 要素認証を使用して認証されたかどうかを検出できます。
OpenID Connect認証の開始は、通常のOAuth認証と同じように機能します。 必要なのは、クライアントが「openid」スコープを要求することだけです。/authenticateスコープを使用している場合は、openidに置き換えます。authenticateとopenidは同じ認証を持っているため、どちらか一方のみを使用する必要があります。 他のスコープを使用している場合は、要求されたスコープのリストにopenidを追加します。 openidスコープが含まれている場合、レジストリはトークン応答内にid_tokenを返し、そのユーザーのユーザー情報エンドポイントにアクセスするためのアクセス許可をクライアントに付与します。
「openid」スコープは、他のスコープのように「/」で始まらないことに注意してください。 ORCID APIスコープ。 これは、「openid」スコープがによって定義されていないためです。 ORCID、ただし、代わりにOpenIDConnect仕様で定義されています。
取り付けガイドを参照してください。 技術文書 をご覧ください。