[日本語Alexa] Auth0にアカウントリンクしてみました

2019.10.07

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

1 はじめに

CX事業本部の平内(SIN)です。

Alexaで、特定の権限でスキルを動作させるための基本的な仕組みは、アカウントリンクです。 以下は、今まで、各種のアカウントリンクを試した記事です。


[日本語Alexa] Cognito User Pool によるアカウントリンク [Alexa] Microsoft Graph にアカウントリンクしてみました 〜AlexaでOffice 365を操作するために〜
[日本語Alexa] APIGatewayをプロキシーとして設定し、アカウントリンクをデバッグする
[Alexa] LINEログインでAccount Linkingしてみた
[Alexa] Login with Amazon との Account Linking で名前を呼びかける挨拶とかメールを送信するスキルを作ってみました
[Alexa] Account Linking を使用してスキルからFacebookに投稿してみました
[日本語Alexa] Salesforceにアカウントリンクしてみました | DevelopersIO
[日本語Alexa] Cognitoによるアカウントリンクを独自ドメインで設定してみました

今回は、Auth0でのアカウントを試してみましたので、このシリーズの追加です。

作業の手順は、概ね以下のとおりです。

  • Applicationの作成(Auth0)
  • Applicationの設定(Auth0)
  • アカウントリンクの設定(Alexa)

2 Applicationの作成(Auth0)

Auth0のコンソールで、ApplicationsからCREATE APPLICATIONを選択します。

適当な名前をつけ、Machine to Machine Applications を選択して CREATE をクリックします。

authorization APIでは、Auth0 Management APIを選択し、必要なスコープにチェックして、AUTHORIZEをクリックします。

3 Applicationの設定(Auth0)

Applicationが作成されたら、Settingsタブで、以下の設定を確認します。(Alexaのアカウントリンクの設定で使用するため)

  • Domain
  • Clinet ID
  • Client Secret

また、同じくSettingsサブで下の方にスクロールし、Token Endpoint Authentication MethodBasicを選択、コールバックURL(※Alexaのアカウントリンクの設定ページに記載されているもの)を設定します。

4 アカウントリンクの設定(Alexa)

Alexaスキルのアカウントリンクの設定は以下のとおりです。

  • Authorization Crant種別: Auth Code Grant
  • 認証画面のURL: https://{Auth0アプリのDomain}/authorize
  • アクセストークンのURL: https://{Auth0アプリのDomain}/oauth/token
  • ユーザーのクラインアントURL: Auth0アプリのClinet ID
  • ユーザーのシークレット: Auth0アプリのClient Secret
  • ユーザーの認証スキーム: HTTP Basic認証
  • スコープ: openid(必要なものを全て設定する)

5 ログイン

スキルを有効にすると、アカウントリンクのため、Auth0の認証画面が表示されます。

アカウントリンクに成功すると、success linkdが表示されます。

6 最後に

今回は、アカウントリンク・シリーズへの追加として、Auth0へのアカウントリンクを試してみました。

ちなみに、Auth0は、あらゆるアプリ、APIに柔軟に対応可能な次世代型の認証基盤サービスという事で、弊社でも、製品パートナーとなっています。
あらゆる環境に対応可能な次世代認証基盤サービス「Auth0」