アプリケーションへのログインおよびログアウト機能の追加
Visual Builderアプリケーションには、ユーザーのログインおよびログアウトを実装するための組込みオプションがあります。
アプリケーションのログインをカスタマイズ
デフォルトでは、ユーザーがサインインせずにアプリケーションにアクセスできるようにする匿名アクセスを有効にしていないかぎり、Visual Builderで作成したアプリケーションにはログイン画面が含まれます。 デフォルトのログイン画面は、Oracle Identity Cloud Service (IDCS)がトークン・ベース認証用に提供するサインイン・ページを指します:
図default-login-page.pngの説明
「このサインイン・ページのカスタマイズ」 (IDCSにアプリケーションを登録する権利が必要)の場合は、ブランド機能を使用して会社名とログイン・テキストを変更したり、ロゴをアップロードしてデフォルトを置き換えることができます。 テキストとイメージの位置と色とフォントは同じままです。 ブランド機能がサポートしているもの以外のものについては、IDCSが提供する「認証REST API」を使用して、独自のサインイン・ページの開発を支援する必要があります。
アプリケーション・ログアウトの有効化
アプリケーションに対してログアウト機能を有効にするには、ボタンやメニュー・アイテムなどの任意のページ・コンポーネントに組込み「ログアウト・アクション」を追加します。
Visual BuilderのWebアプリケーションには、ログイン・ユーザーのアバターの下にサインアウトオプションを表示するデフォルトのシェルが付属していますが、実際にログアウトをトリガーするには、コンポーネントにログアウト・アクションを追加する必要があります:
図webapp-shell.pngの説明
ノート:
「サインアウト」オプションは、PWAとして有効化されているアプリケーションには表示されませんが、任意のページ・コンポーネントからログアウト・アクションをコールすることで、これらのアプリケーションに対して同じ機能を有効にできます。- ナビゲータでアプリケーションを開きます。
- 「構造」ビューで、ログアウト・アクションを追加するコンポーネントを選択し、「プロパティ」ペインで「イベント」タブをクリックし、「+イベント・リスナー」をクリックして、On 'ojAction'を選択します。
webアプリケーションのデフォルトのサインイン・オプションのログアウトを有効にするには:
- 「フラグメント」の下のアプリケーション
shell-header
フラグメントを開きます。 - 構造ビューをクリックし、非表示のアバター「ボタン」コンポーネントを見つけます。 また、ライブ・モードに切り替えて「サインアウト」オプションを選択すると、構造ビューで正しいボタンが選択され、デザイン・モードに戻ります。
- コンポーネントの「プロパティ」ペインで「イベント」タブをクリックし、「+イベント・リスナー」をクリックしてOn 'ojAction'を選択します。
- 「フラグメント」の下のアプリケーション
- アクション・チェーン・エディタで、アクション・パレットからキャンバスに「条件」アクションをドラッグ・アンド・ドロップし、アクションのプロパティ・ペインで、「条件」フィールドの値を[[ $application.variables.avatarItems[0].id ]]に設定します。
- ログアウトアクションをIfアクションのアクションの追加領域にドラッグ・アンド・ドロップして、従うアクションを指定します:
外部アイデンティティ・プロバイダを使用している場合は、アクションのプロパティ・ペインの「ログアウトURL」フィールドに、プロバイダのログアウト・エンドポイントを
https:***/oam/server/logout?end_url=https://****/oamwebsso/logout-success.jsp
のように入力します。 認証にIDCSを使用している場合は、ログアウトURLを指定する必要はありません。
ノート:
ライブ・モードでアプリケーションをプレビューする場合(開発中にログアウトしないように)、ログアウト・アクションは機能しません。 ログアウトが予期したとおりに機能するように、アプリケーションを「ステージまたは公開」する必要があります。ログアウト後のリダイレクトURL
ログアウト後のURLは常にデプロイ済のアプリケーションを指します(サーバー・ランタイム・ログアウト・コードはIDCSクライアント・アプリケーションで行われた変更を認識していないため)。 1つのオプションとして、IDCSログアウトを(Visual BuilderログアウトURLではなく)直接使用し、ログアウト後のURLを問合せパラメータに指定します。たとえば:
https://servicename-cloudaccount.builder.ocp.oraclecloud.com/mycompany/logout.html?postlogouturl=https://servicename-cloudaccount.ocp.oraclecloud.com%3A443%2Fic%2Fbuilder%2Frt%2F<AppName>%2F<Version>%2FwebApps%2F<WebAppName>%2F