トークンを更新する
refreshToken() 関数を使用して、トークンの有効期限が切れた際に新しいトークンを取得していました (以下に例を示します) 。
auth0.js v9 および Lock 11 では、サイレント認証 と checkSession() を使用する必要があります (以下に例を示します) 。
API を呼び出す
audience パラメーターとして指定する必要があります。
を指定すると、OIDC フローが開始され、Auth0 が IDトークン または /userinfo で返すユーザープロフィール データは OIDC 準拠になります。アプリケーションでユーザープロファイル内の非標準の claim を使用している場合は、動作しなくなります。
SPA から API を呼び出す方法について詳しくは、SPA クイックスタートの Calling an API セクションを参照してください。また、バックエンド API の実装もアクセストークンを使用するように移行する必要があります。手順については、API クイックスタートを参照してください。
ユーザープロフィール
/userinfoエンドポイントに完全なユーザープロフィールを含められるレガシー認証フローは、非推奨になります。新しいOIDC準拠APIへの移行が完了したら、Legacy User Profileトグルがオフになっていることを確認してください。
レガシー認証フローを使用している場合は、以下の例のように、ユーザープロフィール全体がIDトークンと/userinfoから返されます。
新しいユーザープロフィールはOIDC仕様に準拠しているため、レスポンスでは一部の標準クレームを利用できます。
内容は、どのスコープをリクエストするかによって異なります。アプリケーションで必要なすべてのクレームを利用できるように、Auth0.jsまたはLockの設定時に、リクエストするスコープを調整する必要があります。また、任意のデータ (たとえば、ユーザーメタデータ) を返すためにカスタムクレームを追加することもできます。
完全なユーザープロフィールを取得する別の方法として、次のセクションで説明するように、認証フローを通じてプロフィールを取得する代わりにを使用することもできます。
Management API を使用したユーザープロフィール
https://{yourDomain}/api/v2/ をオーディエンスとして指定して Auth0 に要求する必要があります。Auth0 は現在、認証時に 2 つのオーディエンスを指定することをサポートしていないため、Lock または auth0.js の初期化時には、引き続きアプリケーションの API オーディエンスを使用する必要があります。ユーザーの認証後は、checkSession を使用して Management API の access_token を取得し、続けて getUser() エンドポイントを呼び出すことができます。
次のスコープを要求できます。
read:current_userupdate:current_user_identitiescreate:current_user_metadataupdate:current_user_metadatadelete:current_user_metadatacreate:current_user_device_credentialsdelete:current_user_device_credentials
checkSession() の呼び出し時に consent_required エラーが発生する場合があります。その場合は、Management API で Allow Skipping User Consent が有効になっていることと、localhost から実行していないことを確認してください。