ホームページ  >  記事  >  バックエンド開発  >  go gin を使用して Auth0 jwt トークンから権限を取得する方法

go gin を使用して Auth0 jwt トークンから権限を取得する方法

WBOY
WBOY転載
2024-02-12 15:09:071023ブラウズ

如何使用 go gin 从 Auth0 jwt 令牌检索权限

質問内容

Goを勉強していて、auth0を使った簡単なアプリケーションを構築したいと考えています。 彼らのチュートリアルを使用して、API エンドポイントの基本認証を設定することができました。 ここで、jwtトークンを使用した権限処理を追加したいと思います。 そこで、API エンドポイントの RBAC をアクティブ化し、権限を追加しました。 カスタム宣言にはチュートリアルのフローを使用しましたが、それを使用して独自のミドルウェアを作成し、Gin で動作するように調整しました。

リーリー

問題は、トークンにカスタム クレームが存在せず、デフォルト クレーム (openid、profile、および電子メール クレーム) のみが存在することです。

これはトークンの内容です:

リーリー

フィールド権限はありますが、auth0/go-jwt-middleware を使用してアクセスするにはどうすればよいですか、それとも最初に何らかの方法でデコードする必要がありますか?

回避策

権限はカスタム クレームであるため、validator.CustomClaims インターフェイスの実装とともに WithCustomClaims オプションを渡す必要があります。 次に、バリデーターを作成するとき:

リーリー

その中のMyClaimsはこんな感じです。 HasScope メソッドに注意してください:

リーリー

以上がgo gin を使用して Auth0 jwt トークンから権限を取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はstackoverflow.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。