OAuth 認証連携

Prev Next

Classic/VPC環境で利用できます。

登録された認証サーバとの連携により、認証が完了したユーザーにのみ返答することができます。初回の認証が完了すると、そのユーザーの情報が維持される間は追加の認証手続なしにレスポンスします。
認証サービスと連携させる方法は次の通りです。

  1. NAVERクラウドプラットフォームコンソールで、i_menu > Services > AI Services > CLOVA Chatbot > Domainメニューを順にクリックします。
  2. 希望するドメインの [ビルダを実行する] ボタンをクリックしてチャットボットビルダを実行します。
  3. チャットボットビルダでチャットボット設定 > [サービス連携] タブをクリックします。
  4. 認証サービスの [連携] ボタンをクリックします。
  5. サービス連携画面で認証 URLを入力します。
    • ユーザーが質問を入力すると、チャットボットは認証されたユーザーであるかどうかを判断するために POST {URL}/confirmを呼び出し、入力された認証サーバに認証有無を確認
    • {URL}はドメイン管理者が入力した認証 URL
    • チャットボットはユーザーの IDとプラットフォーム情報を一緒に伝達
{
  "userId": "${userId}",
  "platform": "${platform}",
  "domainCode":"${domainCode}"
}
必須 タイプ 説明
userId Y String ユーザー ID
platform Y String メッセンジャープラットフォーム
domainCode Y String 現在ドメインのコード
  • 認証されたユーザーには、認証サーバは以下のように応答します。
{
  "valid": true
}
必須 タイプ 説明
valid Y Boolean 認証されたユーザーであれば、trueをリターン
  1. 認証リクエストメッセージと認証失敗メッセージ、認証エラーメッセージを入力し、 [連携] ボタンをクリックします。
  • 認証されていないユーザーや、認証に失敗したユーザーの場合、チャットボットは認証リクエストメッセージまたは認証失敗メッセージとともに Loginリンク付きの URLボタンをユーザーに返します。
    GET {URL}/login?userId=${userId}&platform=${platform}&domainCode=${domainCode}
    
  • Loginに成功すると、認証サーバは Invoke URLを呼び出します。
    Invoke URLを呼び出す場合、以下のデータが含まれている必要があります。
    {
      "domainCode": "String",
      "platform": "String",
      "userId": "String",
      "nonce": "Option[String]",
     "needPush": true
    }
    
必須 タイプ 説明
platform Y String メッセンジャープラットフォーム情報
userId Y String ユーザー識別のための ID
nonce Y String linkに用いられる一時的な暗号
nonce値が存在する場合、link apiを呼び出す際に渡された nonce値を含めて呼び出し
needPush Y Boolean 返答が見つかって pushが必要な場合に使用
LINE、TalkTalkメッセンジャーのみ対応
  • ログイン成功リクエストがチャットボットビルダに伝達されると、そのユーザーの認証成功に対する確認として linkをリクエストします。
POST {URL}/link 
{
  "userId": "String",
  "platform": "String",
  "domainCode": "String",
  "nonce": "Option[String]"
}
必須 タイプ 説明
userId Y String ユーザー識別のための ID
platform Y String メッセンジャープラットフォーム情報
domainCode Y String ドメインを識別するためのドメインコード
nonce N String 渡された nonce値が存在する場合、apiを呼び出す際に渡された値を含めて呼び出し
  • POST {URL}/linkを呼び出したときに200OKが渡されたら linkに成功したと判断します。
  • linkに成功すると、ユーザーが最初の開始時に質問した内容に対する返答を見つけて応答します。
  • linkに失敗すると、認証失敗メッセージとともに再ログインを誘導します。
  • ログイン成功リクエストで needPush: trueの場合、pushが可能なプラットフォームであれば取得した回答を pushします。