Auth0 でアカウントを作成し、バックエンド API への Angular 2 の簡単なログインを取得しようとしています。
1. 私がやろうとしているのは、API のロールにアクセスして、ユーザーが正しい権限を持っているかどうかを確認できるようにすることです。
入った Auth0 Authorization 拡張機能を有効にして、1 つのグループと 1 つのロールを作成しました。作成したテスト ユーザーにこれらを割り当てました。次に、構成に移動し、トークンの内容と永続化のルールを公開しました。
nodejsアプリでJWTからアクセス許可/グループを表示するにはどうすればよいですか? 私はexpress-jwt
これを使用しています:
const authenticate = jwt({
secret: config.get('AUTH0_CLIENT_SECRET'),
audience: config.get('AUTH0_CLIENT_ID'),
credentialsRequired: false,
});
iss、sub、audなどの詳細が表示されます。しかし、ユーザー メタデータに関する詳細はありません。どうすればこれを取得できますか? また、以前にAuth0を使用したことがないことは明らかであるため、ユーザーの詳細を独自のデータベースに保存して、独自のIDを使用してユーザーアクションに対して保存できるようにすることをお勧めしますか、またはAuth0がIDを提供する場合はIDを使用できますか?データベースにユーザーのアクションを保存します。
編集1
スコープを渡すことができる Lock のオプション パラメータがあることがわかりました。ログイン時にこれらを要求するのは悪い習慣ですか? 今のところ、ほんの一握りのグループ/ロールしかありません。または、提供されたトークンを使用して API がユーザーをルックアップし、app_metadata を取得してパーミッションなどを表示できるようにした方がよい場合は、どうすればこれをルックアップできますか?