Skip to content

MS_ASPNETIdentitySTS

nishi_74322014 edited this page Aug 12, 2026 · 1 revision

ASP.NET IdentityによるSTS実装

概要

ASP.NET Identityの STS 実装のサポート状況。

補足(STS とは): STS(Security Token Service、
セキュアトークンサービス)は、
認証結果をトークンとして発行する側のことである
STS系ミドルウェアを参照)。

ASP.NET Identity は本来
自分のアプリにログインさせる」ための仕組みだが、
OAuthAuthorizationServerMiddleware を組み合わせることで
他のアプリにトークンを配る」側にもなれる、という話である。

詳細

OAuth 2.0 の基本 4 フローの
セキュアトークンサービス(STS)機能をサポートしている。

グラント種別 用途
Authorization Code Web アプリ(サーバ サイド)
Implicit ブラウザ内 JavaScript
Resource Owner Password Credentials 信頼できる自社クライアント
Client Credentials サーバ間(ユーザ不在)

補足(最新化:4 フローのうち 2 つは使ってはならない):
**OAuth 2.1 および RFC 9700(OAuth 2.0 Security BCP)**により、
上表のうち 2 つは廃止扱いになっている。

グラント種別 現在
Authorization Code 現役(ただし PKCE 必須
Implicit 廃止。トークンが URL フラグメントに載り、漏えいする
Resource Owner Password Credentials(ROPC) 廃止。アプリがパスワードを扱う時点で OAuth の意義が無く、MFA も外部 IdP も使えない
Client Credentials 現役(ユーザ不在の系のみ)

Implicit の代わりは「Authorization Code + PKCE」であり、
SPA でも公開クライアントとして安全に使える。
ROPC の代わりは無い(設計を見直す)。

拡張

以下のように、「OAuth 2.0 拡張」や
OpenID Connect」拡張も可能。

補足(現在の選択肢): OAuthAuthorizationServerMiddleware
メンテナンス・フェーズで終了しており、新規に選ぶものではない。
現在 STS が必要なら次のいずれかになる。

選択 位置づけ
Entra ID / Entra External ID 運用ごと任せる。第一候補
OpenIddict .NET 製 OSS。OIDC 認定。自前ホスト向け
Duende IdentityServer 旧 IdentityServer4 の後継。商用ライセンス
Keycloak Java 製だが実績豊富。Docker で立つ
自作 汎用認証サイトが選んだ道。相応の覚悟が要る

詳細は ASP.NET Identity の Community STS を参照。


Tags: 移行, .NET開発, ASP.NET, ASP.NET MVC, ASP.NET Identity, 認証基盤, セキュリティ

NetDevInfraWiki

マイクロソフト系技術情報 Wiki
Open 棟梁 Wiki

(未着手)

開発基盤部会 Wiki

移行管理: DONETODO

Clone this wiki locally