ここでは、このソリューションを実装する必要がある場合に、OAuth 2.0 認証タイプを使用して GAM を ID プロバイダー (IDP) として使用する方法を説明します。
一般に、GAM を使用する GeneXus ナレッジベースから、OAuth 2.0 プロバイダーとして GAM を使用するには、
GAM アプリケーションをサーバーで定義し、
GAMRemote 認証タイプをクライアントで設定する必要があります。
クライアントでは、
OAuth 2.0 認証タイプを使用することもできます。
GAM リモート認証タイプを使用することをお勧めします。設定が非常に簡単で、他のソリューションでは対応していない機能がいくつかあるためです。ただし、OAuth 2.0 を使用すると、ユーザー情報を取得するための別の URL を設定したり、アクセストークンを取得したりもできます。これは GAM リモートではできません。
サーバーで GAM アプリケーションを定義します。クライアント ID とクライアントシークレットの資格情報を取得します。この手順は、
GAM リモート認証の ID プロバイダー設定で説明した内容と同じです。
この場合、 [ Can get user roles ] プロパティと [ Private Encryption Key ] プロパティは無視されます。クライアントから情報を暗号化して送信する方法はないため、 [ Private Encryption Key ] はチェックしないでください。
以下の画像に示すように、クライアントで OAuth 2.0 認証タイプを定義します:
全般
[ Authorization ]
IDP の URL http://<domain-url>/<base-url>/oauth/gam/signin?oauth=auth を設定します。
[ Token ]
IDP の URL http://<domain-url>/<base-url>/oauth/gam/access_token サービスを設定します。
その他の設定については、 [ Advanced Configuration ] オプションを確認してください。
[ User Information ]
IDP の URL http://<domain-url>/<base-url>/oauth/gam/userinfo サービスを設定します。
その他に必要な情報については、 [ Advanced Configuration ] セクションを確認してください。
注:
IDP からユーザーの追加情報を取得するには、「GAM の ID プロバイダーからユーザーの追加情報を取得する方法」を参照してください。この場合、クライアントアプリケーションで追加情報を受け取るために、カスタムのユーザー属性 (上の図を参照) として定義する必要があります。
受け取った情報は、ユーザーの
拡張項目属性として保存されます。
- 上のフォームの項目属性名 ( [ Attribute Name ] ) は、GAM データベースに保存される、GAM 拡張ユーザー項目属性の ID です (その ID を使用して情報を取得できます)。
- 項目属性タグ ( [ Attribute Tag ] ) は、サービスの JSON 応答タグであり、ユーザー情報を返します。GAM を OAuth 2.0 IDP として使用する場合は、常に「CustomInfo」です。
ユーザーの情報を返す GAM サービスの JSON 応答については、Userinfo サービスの RESPONSE を参照してください。