OpenID連携を利用することで、外部の会員認証システムと連携したログインを行うことが出来るようになります。
連携するために必要な情報はこの画面で入力します。ここでは、ステップごとに連携までの流れを説明します。
※認証連携方式としてはAuthorization Code Flow(認可コードフロー)方式にのみ対応しています。その他のImplicit FlowやHybrid Flow等には対応していません。
STEP1:外部認証システムの会員IDでログインできるようにする
外部サービス名を登録
連携する外部の会員認証システムの名前を外部サービス名として設定します。この項目は管理用のものでシステム内部では特に利用されません。
認証URLを設定する
OpenIDでの認証認可ページのURL(Authorizationエンドポイント)を設定します。client_idなどのパラメータも文字列でURLに付与します。
このURLはeventosのログイン画面から外部DBのログイン画面へ移動するためのURLです。URLの詳細は連携するOpenIDの仕様をご確認ください。
コールバックURLのコピー(必要な場合のみ)
コールバックのURLをOpenIDプロバイダー側のシステムで登録する必要がある場合はこのURLをコピーしてOpenIDプロバイダーへ登録してください。
※イベントで独自ドメインを設定している場合は各イベントの連携設定にあるコールバックURLを利用してください。
トークンURLを設定する
ユーザによるID/PASS等での認証を通過した後に、認証コードを元にトークンを取得するためのURL(Tokenエンドポイント)を指定します。 URLの詳細はOpenIDプロバイダの仕様を参照してください。
トークン用POST DATAを設定する
トークン取得用URLに対してデータをPOSTする必要がある場合に、パラメータ(KEY)と値(VALUE)を指定します。また、ここで認証URLで取得した変数を指定したい場合、{変数名}を値に入れることで、動的に変数の値を入力できます。下記にKEY=VALUEのサンプルを記載します。(また、認証URLで認証後のコールバックより取得した認可コードはヘッダにも自動的に入力されます)
client_id=1234
client_secret=abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz
redirect_uri=http%3A%2F%2Fexmaple.com
scope=all
response_type=code
grant_type=authorization_code
code=[code]
token_type=Bearer
外部会員ID設定を行う(必要な場合のみ)
eventosの外部会員IDとして利用する一意の項目を指定します。初期設定ではsubという項目があたりますが、それ以外の文字列を指定したい場合は項目名を入力してください。
STEP2:外部の会員認証システムの会員情報を引き継ぐ
外部の会員認証システムを利用して、ログインに成功した際に、その会員情報をeventos側に引き継ぐことが出来ます。
データの各項目に対して、ログイン時に上書きするかどうかを設定できます。なお、eventos側で会員が属性を変更したとしても、外部の会員認証システムへは反映されません。
会員にeventos内でプロフィールデータを編集させたくない場合、eventosの会員プロフィール属性の編集設定で、編集不可に設定してください。
ユーザ情報APIのURLを設定する
ユーザ情報を取得するために用意されているURL(UserInfoエンドポイント)を設定してください。URLの詳細はOpenIDプロバイダーの仕様を確認してください。
引き継ぐ項目を設定する
外部の会員認証システムから引き継ぎたい会員情報の項目を設定します。引き継ぐために、まずeventos上で会員属性情報として項目を登録します。その上で、登録した項目のeventos属性情報をプルダウンで選択します。そして、そこに引き継ぐ項目を外部情報項目名としてJSON形式で記載してください。項目名などの詳細は連携するOpenIDの仕様をご確認ください。
項目はJSON上で親子構造になっている場合の子要素にも.を使用してアクセスできます。下記のサンプルを参考にしてください。
※配列構造になっているものは先頭の情報が取得されます。
<json>
<profile>
<name>yamada</name>
</profile>
</json>
eventos属性情報:[氏名.姓] 外部情報項目名:[profile.name]
※特定の属性情報について
日付、郵便番号、性別については以下の形式に当てはまっていない場合にeventos側で正しく受け取ることができません。
ご注意ください。