OIDCがリソースオーナーのパスワードをサポートしていないクレデンシャルグラント。どうして?私のクライアントの中には、資格情報を安全に維持できるセキュリティ保護されたデバイスがあります。これらの資格情報を使用してaccess_tokenを取得することができます。引き続きOpenID Connectを使用できますか?
回答:
回答№1は5仕様上は明示的ではありませんが、OAuth 2.0の拡張版であるため、OpenID ConnectはすべてのOAuth 2.0フローをサポートしています。
この仕様では、ブラウザのリダイレクトは、リソースオーナーの資格情報がユーザー名とパスワードのみをサポートし、下位互換性のためにはOAuth 2仕様にしかないため、より一般的で安全で脆弱であるためです。真のSSOシステムでは、OP / IDPでユーザーを認証する方法を抽象化したいと思っています。
しかしあなたの走行距離は変わるかもしれません。特定のOP / ASソフトウェアおよびクライアントライブラリでのサポート
FWIW:あなたはaccess_tokenではなくid_tokenを取得する必要があります。
回答№2の場合は1
OpenID Connectは認証を実行してログインしますエンドユーザーまたは エンドユーザーが既にログインしていることを確認します。OpenID Connect サーバーによって実行された認証の結果を クライアントが安全に頼りにすることができるようにしてください。
暗黙のコードと認可コードの付与タイプエンドユーザがログインしていない場合、IDトークンを発行することはできません。この場合、認証サーバは、エンドユーザがログインしていることを信頼者に確認できます。 しかし、リソース所有者の許可タイプ・フローでは、許可サーバーはエンド・ユーザーがログインしていることを確認できません。エンド・ユーザーがログインしていなくてもアクセス・トークンを発行できます。
回答№3の場合は-1
はい。私はまた同じ質問に対する答えを時折戻していた。 OpenId Connectの仕様によると、 authorization code
そして implicit
OpenId Connect要求の許可タイプ。 しかし、他の助成金の種類を使用できないことは言及されていません。したがって、OpenId Connect認証要求には他のグラントタイプを使用できます。これについて議論されているopenid connectグループからのメールがあります。からそれを見つけてください ここに。 OAuth2認証サーバーでサポートされている場合は、使用することをお勧めします。私が知っているように、認可サーバーのほとんどはそれをサポートしています。 ここに