OpenID Connect(OIDC)概要

OpenID Connect(OIDC)概要

お知らせ:当社は、お客様により充実したサポート情報を迅速に提供するため、本ページのコンテンツは機械翻訳を用いて日本語に翻訳しています。正確かつ最新のサポート情報をご覧いただくには、本内容の英語版を参照してください。

OpenID 接続 (OIDC) は、OAuth 2.0 認可プロトコルの上に構築された ID レイヤーです。これにより、サードパーティ アプリケーション(クライアント)がユーザーの ID を認証し、その基本的なプロフィール情報にアクセスできるようになります。

ここでは、OIDC の動作を理解する前に、いくつかの用語について確認しておきましょう。
OpenID Provider (OP)
Claims
ID token
Access token
JSON Web キー (JWK) Endpoint
Refresh token
Authorization Endpoint
Token Endpoint
User Info Endpoint
Discovery Endpoint
OpenID Provider (OP)
ユーザーを認証し、この情報を要求するクライアントにユーザー情報を提供する、OAuth 2.0 の認可コンポーネントです。
Claims
OIDC フローで送信される、ユーザーに関するあらゆる情報を claim(クレーム)と呼びます。
ID token
ユーザーおよび実行された認証に関する情報を含む JSON Web Token です。
Access token
OP のリソースサーバーからユーザー情報にアクセスするために使用されるトークンです。
Refresh token
既存のアクセストークンの有効期限が切れた際に、新しいアクセストークンを取得するために使用されるトークンです。
Authorization Endpoint
ユーザーが認証を行い、自身に関する特定の情報へのアクセス権限を付与する場所です。
Token Endpoint
RP が OP から受け取った Authorization コードを、ID トークン、アクセストークン、および/またはリフレッシュトークンと交換する場所です。
User Info Endpoint
RP がアクセストークンを提示して、ユーザーに関する情報(クレーム)を要求する場所です。
Discovery Endpoint
OP に関連するすべての構成情報が公開されている場所です。
JSON Web キー (JWK) Endpoint
RP が、受け取ったトークンの正当性を検証するための鍵を取得する場所です。
Relying Party (RP)/ Client
Scope
Authorization コード
Redirect URI
Sign-out Endpoint
Relying Party (RP)/ Client
ユーザー認証およびユーザー情報を OpenID Provider に要求するクライアントアプリケーションです。
Scope
認証・認可リクエストで使用されるパラメーターで、どの種類のユーザー情報が必要かを定義します。
Authorization コード
認証レスポンスで、Authorization Endpoint からクライアントに送信されるコードで、Token Endpoint で ID トークンおよびアクセストークンと交換できます。
Redirect URI
Authorization Endpoint が認証および認可レスポンスを送信する URL です。
Sign-out Endpoint
現在の認証済みセッションからユーザーをログアウトさせるために使用されるエンドポイントです。

 Prerequisites for clients:

クライアント(Relying Party)は、事前にリソースプロバイダー(OpenID Provider)に登録されており、OpenID Provider からクライアント ID とクライアントシークレットを取得している必要があります。

基本的な OIDC フロー:

Relying Party は、OpenID Provider の Authorization Endpoint に対して、ユーザーの認証と、特定のユーザー情報へのアクセス権限の付与を要求します。ユーザーの認証と認可が完了すると、Authorization Endpoint は Relying Party に ID トークンとアクセストークンを送信します。
このトークンの受け渡し方法は、Relying Party (RP) の種類や選択された認証フローによって異なります。この記事の後半で、RP の種類ごとに推奨される認証フローについて説明します。
RP は、OP の UserInfo Endpoint にアクセストークンを提示してユーザー情報(クレーム)を要求します。OP は、同意済みのクレームを RP に返します。


通常の Web アプリケーション (MPA) と Authorization コード フロー:

これらのアプリケーションはサーバー上で動作し、操作のたびに新しいページリクエストをサーバーに送信します。クライアントシークレットを安全に保存できるため、Confidential Client(機密クライアント)とも呼ばれます。MPA に推奨される最適な認証フローは Authorization コード フローです。
このフローでは、RP(クライアント)が OP の Authorization Endpoint に対して、ユーザーの認証と特定のユーザー情報へのアクセス権限を要求します。ユーザーの認証と認可が完了すると、Authorization Endpoint はクライアントに Authorization コードを送信します。クライアントは、その Authorization コードを OP の Token Endpoint で ID トークンとアクセストークン(要求されていればリフレッシュトークンも)と交換します。クライアントは、ID トークンから必要なユーザー情報(クレーム)を取得します。
Single-Page Application (SPA) と Implicit フロー
SPA は、操作に応じて必要な部分だけを読み込む、モダンな Web アプリケーションです。これらのアプリケーションは、最初に必要なリソースをすべてサーバーから取得した後、通常はクライアント側で動作します。Public Client(公開クライアント)とも呼ばれ、すべてのコードがブラウザー上にあるため、クライアントシークレットを安全に保存できません。SPA に推奨される認証フローは Implicit フローです。
このフローでは、クライアント(RP)が OP の Authorization Endpoint に対して、ユーザーの認証と特定のユーザー情報へのアクセス権限を要求します。ユーザーの認証と認可が完了すると、Authorization Endpoint は ID トークンを直接クライアントに送信します。要求されている場合は、アクセストークンやリフレッシュトークンも送信されます。クライアントは ID トークンから必要なユーザー情報を取得します。このフローでは Token Endpoint は使用されません。
ネイティブ アプリケーションと PKCE フロー

ネイティブアプリケーションは、特定のデバイスに直接インストールされるアプリケーションです。Public Client(公開クライアント)とも呼ばれます。デバイスに直接インストールされ、アプリケーションがデコンパイルされてクライアントシークレットにアクセスされる可能性があるため、シークレットを安全に保存できません。ネイティブアプリに推奨されるフローは、Proof Key for Code Exchange (PKCE) を用いた Authorization コード フローです。
このフローでは、クライアント(RP)がコードベリファイア(ランダムな文字列)とコードチャレンジ(任意のハッシュ方式でコードベリファイアをハッシュ化したもの)を生成します。OP の Authorization Endpoint に送信する認可リクエストとともに、クライアントはコードチャレンジも送信します。ユーザーの認証と認可が完了すると、Authorization Endpoint はクライアントに Authorization コードを送信します。OP の Token Endpoint で、クライアントはこの Authorization コードに加えて、コードチャレンジと、コードベリファイアのハッシュに使用したハッシュ方式を送信します。Token Endpoint は指定されたハッシュ方式でコードチャレンジを検証し、その結果がコードベリファイアと一致するかを確認することで、その Authorization コードが同じクライアントからの認可リクエストに対して発行されたものであることを検証します。その後、Token Endpoint は ID トークンとアクセストークン(要求されていればリフレッシュトークンも)を返します。クライアントは ID トークンから必要なユーザー情報を取得します。

    Zoho CRM 管理者向けトレーニング

    「導入したばかりで基本操作や設定に不安がある」、「短期間で集中的に運用開始できる状態にしたい」、「運用を開始しているが再度学び直したい」 といった課題を抱えられているユーザーさまに向けた少人数制のオンライントレーニングです。

    日々の営業活動を効率的に管理し、導入効果を高めるための方法を学びましょう。

    Zoho CRM Training



              Zoho Campaigns Resources

                Zoho WorkDrive Resources




                  • Desk Community Learning Series


                  • Digest


                  • Functions


                  • Meetups


                  • Kbase


                  • Resources


                  • Glossary


                  • Desk Marketplace


                  • MVP Corner


                  • Word of the Day


                  • Ask the Experts









                                  • Related Articles

                                  • アプリの追加 - 概要

                                    お知らせ:当社は、お客様により充実したサポート情報を迅速に提供するため、本ページのコンテンツは機械翻訳を用いて日本語に翻訳しています。正確かつ最新のサポート情報をご覧いただくには、本内容の英語版を参照してください。 一般情報: 無料プランでは、Zoho 以外のアプリは最大 3 件までしか追加できません。 Zoho Directory では、次の 5 種類のアプリを追加・管理できます。 ディレクトリアプリ これらは、アプリディレクトリで利用可能な、あらかじめ SSO 連携済みのアプリです。 ...
                                  • Zoho DirectoryでのOpen ID Connect(OIDC)の利用方法

                                    お知らせ:当社は、お客様により充実したサポート情報を迅速に提供するため、本ページのコンテンツは機械翻訳を用いて日本語に翻訳しています。正確かつ最新のサポート情報をご覧いただくには、本内容の英語版を参照してください。 OpenID プロバイダーとして、Zoho Directory (ZD) はユーザーを認証し、ユーザーのプロフィール情報へのアクセス権限を安全に取得するのに役立ちます。これは OIDC 認証プロトコルを通じて行われます。OIDC の詳細はこちら。 Zoho Directory ...
                                  • カスタムOIDCアプリの追加方法

                                    お知らせ:当社は、お客様により充実したサポート情報を迅速に提供するため、本ページのコンテンツは機械翻訳を用いて日本語に翻訳しています。正確かつ最新のサポート情報をご覧いただくには、本内容の英語版を参照してください。 無料プランでは、Zoho 以外のアプリは最大 3 件までしか追加できません。 必要なアプリがすでに Zoho Directory と連携されているかどうかは、アプリディレクトリで確認できます。連携されていない場合は、連携をリクエストしてください。 Zoho Directory ...
                                  • タブの概要

                                    お知らせ:当社は、お客様により充実したサポート情報を迅速に提供するため、本ページのコンテンツは機械翻訳を用いて日本語に翻訳しています。正確かつ最新のサポート情報をご覧いただくには、本内容の英語版を参照してください。 Zoho Directory は、複数の Zoho アプリ、あらかじめ連携済みのディレクトリアプリ、設定可能なカスタムアプリと連携できます。これらのアプリを大量に追加・利用すると、ユーザー ホームが散らかり、ユーザーが混乱してしまう可能性があります。 例を見てみましょう。Daniel ...
                                  • 概要

                                    お知らせ:当社は、お客様により充実したサポート情報を迅速に提供するため、本ページのコンテンツは機械翻訳を用いて日本語に翻訳しています。正確かつ最新のサポート情報をご覧いただくには、本内容の英語版を参照してください。 暗号化は、平文を暗号文に置き換えることでデータを保護し、意図した受信者だけが内容を理解できるようにするために使用されます。あらゆる形式のデータは、まずデータ暗号化キー(DEK)を使用して保存時に暗号化されます。DEK ...

                                  Resources

                                  Videos

                                  Watch comprehensive videos on features and other important topics that will help you master Zoho CRM.



                                  eBooks

                                  Download free eBooks and access a range of topics to get deeper insight on successfully using Zoho CRM.



                                  Webinars

                                  Sign up for our webinars and learn the Zoho CRM basics, from customization to sales force automation and more.



                                  CRM Tips

                                  Make the most of Zoho CRM with these useful tips.