Goを勉強していて、auth0を使った簡単なアプリケーションを構築したいと考えています。 彼らのチュートリアルを使用して、API エンドポイントの基本認証を設定することができました。 ここで、jwtトークンを使用した権限処理を追加したいと思います。 そこで、API エンドポイントの RBAC をアクティブ化し、権限を追加しました。 カスタム宣言にはチュートリアルのフローを使用しましたが、それを使用して独自のミドルウェアを作成し、Gin で動作するように調整しました。
リーリー問題は、トークンにカスタム クレームが存在せず、デフォルト クレーム (openid、profile、および電子メール クレーム) のみが存在することです。
これはトークンの内容です:
リーリーフィールド権限はありますが、auth0/go-jwt-middleware を使用してアクセスするにはどうすればよいですか、それとも最初に何らかの方法でデコードする必要がありますか?
権限はカスタム クレームであるため、validator.CustomClaims
インターフェイスの実装とともに WithCustomClaims
オプションを渡す必要があります。
次に、バリデーターを作成するとき:
その中のMyClaims
はこんな感じです。 HasScope
メソッドに注意してください:
以上がgo gin を使用して Auth0 jwt トークンから権限を取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。