SpringのデフォルトOAuth JWTフローは次のとおりです。SpringのデフォルトのOAuth JWT実装がJWTベリファイアを公開するのはなぜですか?以下のように(client_credentialsの助成金を使って)
- 起動認証サーバ(AS)
- 打ち上げリソースサーバ(RS)
- 起動時にRSはtokenKeyを要求
- ASは、RS256(SHA256withRSA) を使用して公開鍵を返す基本認証を使用して
- は、いくつかの時間後に、クライアントがclient_credentialsが
- ASがJWS signature
- クライアントを含むJWT accessToken返しRS
- RSの用途へのベアラトークンとしてJWTを送信許可使用
GET /oauth/token
を呼び出すことによってaccessTokenを要求しますJWT accessTokenがASから来たことを確認するために起動時にASから受け取ったtokenKeyこれは私が混乱するところです...
GET /oauth/token_key
を呼び出すことにより、
これは安全ですか?共有秘密鍵ではなく、公開証明書を使用するのはなぜですか?ハッカーが公開鍵を簡単に入手して、有効なJWT accessTokenに署名することはできませんでしたか?公開鍵証明書とJWT署名の併用は、送信者が実際に認証サーバーであり、攻撃者ではないことを確認するためにどのように連携しますか?
洞察が役立ちます。