[[Open棟梁>https://github.com/OpenTouryoProject]] wiki

-[[戻る>Multi-AuthSystem]]

*目次 [#w492a716]
#contents

*概要 [#p3c82f83]

*Idp仕様 [#c803a92a]
**UserStore [#gd06e168]
-EntityFrameworkをキャンセルしUserStoreクラスで実装。
-Open棟梁のデータアクセスで実装。
-DBMSはSQL Server or PostgreSQLを使用。

**パラメタ [#pe833de6]

*外部認証仕様 [#q865b16d]
-連携したe-mail addressは検証しない。

*OAuth2.0 Server仕様 [#q3ec8431]

-[[ASP.NET Identity追加仕様>https://techinfoofmicrosofttech.osscons.jp/index.php?ASP.NET%20Identity%E3%81%AB%E3%82%88%E3%82%8BSTS%E5%AE%9F%E8%A3%85#z90cfe4c]] [#vfeaaa9d]

**認証 [#tf864e14]
認証に利用する場合、以下の仕様に準拠する。

***Server側 [#oa657de9]
--
--Access Tokenに
---scope=authの場合、client_idを格納する。
---scope=その他の値の場合、scopeパラメタ値を格納する。


-ResourceServer
--認証専用のWebAPIを提供する。

***Client側 [#x001826d]
-できるだけ、Authorization Codeグラント種別を使用する。
--scopeパラメタにauthを指定する。
--ResourceServer
---ResourceServerにAccessするときAccess Tokenに加えクライアント識別子をPOSTで送信する。
---ResourceServerは、"urn:oauth:auth"のClaimがあった場合、~
POSTされたクライアント識別子でクライアント認証をした後、~
そのClaim値とclient_idを比較してTokenに問題がないかをチェックする。

-Access Tokenに情報を格納する際は、ClaimsIdentityを使用する。~
Claimには、以下のようなURN形式をkey使用してvalueの追加を行う。
--scope=auth
 claimsIdentity.AddClaim(new Claim("urn:oauth:auth", client_id));
--scope=その他の値の場合、
 claimsIdentity.AddClaim(new Claim("urn:oauth:scope", scope));

-クライアント識別子
--GUIDを使用する({}, - あり)
--client_id~
全てのグラント種別以外で必須
--client_secret
---認証用では、全てのグラント種別以外で必須
---Implicitグラント種別以外で必須

-Redirectエンドポイント~
不要(部分一致は不可なので事前登録制とする)


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS