-
Notifications
You must be signed in to change notification settings - Fork 0
MS_ASPNETIdentitySTSOIDC
- 戻る(ASP.NET IdentityのOAuth2によるSTS実装)
- ASP.NET IdentityのOIDCによるSTS実装
- ASP.NET IdentityのOAuth2拡張によるSTS実装
- ASP.NET IdentityによるSTS実装
ASP.NET Identityの、OpenID Connectによる
セキュアトークンサービス(STS)の Endpoint 追加実装。
-
Open棟梁の汎用認証サイト
では、ASP.NET Identity(Identity 2.0)(net45)を使用している。 -
OAuthAuthorizationServerMiddlewareは
OAuth 2.0 基本 4 フローのみのサポートだった。 -
HTTP モジュールによる書換や拡張エンドポイントなどを使用して、
OpenID Connect を一部サポートした。 -
将来的には、
-
ASP.NET Identity(Identity 2.0)(net45)の
既定のエンドポイントを破棄して拡張エンドポイントを実装するか、 -
ASP.NET Core Identity(Identity 3.0)(netcoreapp)+
ASP.NET Identity の Community STSを利用するか、
検討を行う予定。
-
補足(OIDC 化に必要になるもの): OAuth 2.0 の
認可サーバを OpenID Connect の OP にするには、
少なくとも次を追加する必要がある。
「HTTP モジュールによる書換」で対応が難しいのは、
大半が新しいエンドポイントだからである。
追加要素 内容 ID トークン ユーザ認証の結果を表す JWS。 iss/sub/aud/exp/iat/nonceが必須nonceリプレイ防止。認可要求で受け取り、ID トークンに載せて返す UserInfo エンドポイント 属性クレームを返す Discovery /.well-known/openid-configurationjwks_uriID トークンの署名検証用公開鍵(JWK Set) scope=openidこれがある要求だけが OIDC として扱われる 特に ID トークンの署名鍵の運用(生成・保管・ローテーション・
jwks_uriでの公開)が、自前実装で最も重くなる部分である
(JWKを参照)。なお、アクセス トークンと ID トークンを混同しないこと。
宛先( aud)用途 ID トークン クライアント 「誰がログインしたか」をクライアントに伝える アクセス トークン リソース サーバ(API) API を叩く権限 ID トークンを API の認可に使う実装が散見されるが、誤りである。
Tags: 移行, .NET開発, ASP.NET, ASP.NET MVC, ASP.NET Identity, OAuth, 認証基盤, セキュリティ
このWikiは「Open棟梁Project」,「OSSコンソーシアム 開発基盤部会」によって運営されています。