OAuth の [ トークンの有効期限 (分単位) ] は
GAM のセキュリティポリシーのプロパティで、分単位で指定する必要があります。
ネイティブ モバイル アプリケーション、Angular フロントエンドアプリケーション、
API オブジェクトなどの REST サービスで、ユーザーセッションの有効期限を指定できます。
ネイティブ モバイル アプリケーションの場合、認証プロセスが OAuth を使用して行われることを考慮します。
安全なアプリケーションに接続するために、最終的なユーザーはオーソライズされたユーザー名/パスワードを知っている必要があります。これらの資格情報は、アプリケーションのインストール時にデバイスにダウンロードされた client_id と一緒に、サーバーアプリケーションとの最初の接続を確立するために使用されます (詳しくは、「
GeneXus で安全な REST Web サービスを開発する方法」を参照してください)。
ユーザーがアプリケーションに接続しようとすると、ログインがユーザーに表示されます。初めて接続しようとしたときに、ユーザー名、パスワード、client_id を使用してサーバーへの POST が実行されます。次に、HTTP 応答で access_token が返され、これが今後この接続で常に使用されることになります。
この access_token はデバイスに格納され、ユーザーの接続中は保持されるか、GAM セキュリティポリシーの [
トークンの有効期限 (分単位) ] プロパティの値に応じて、定期的にリセットされます。
access_token はデバイスのキャッシュに格納され、それが有効な (ユーザーがログアウトしていない) 間は、再びログイン画面が表示されることはありません。
ユーザーがアプリケーションからログアウトすると、ローカルセッションは破棄されて、デバイスのローカルキャッシュが破棄されます。
GAMExampleEntrySecurityPolicy Web パネル (GAM Example フォルダ内) は、このプロパティを使用したサンプルです。
GeneXus コードでこのプロパティを使用する方法 (
GAM API を使用) を以下に紹介します:
&SecurityPolicy.OauthTokenExpire = &OauthTokenExpire
注:
1.「OAuth トークンの有効期限」の時間切れ基準は、Web セッションの有効期限のタイムアウトとは異なります。後者は非アクティブな時間で、前者は経過時間です。
2. [
トークンの有効期限 (分単位) ] プロパティは、自動的に登録されたユーザーでは考慮されません。
OAuth の [ トークンの最大更新回数 ]
GAM を使用したアプリケーションでのセキュリティセッション管理