2016-06-14 14 views
0

OAuth 2.0認証サーバのsample implementationと、各認可タイプのサンプルワークフローがあります。OAuth 2.0コード許可フロー

IETFには、Code Grant FlowのOAuth 2.0仕様があります。 「D」&「E」の手順をIETFコードグラントフローのチャートで見てみると、サンプル実装(最初のリンク)では実装されていないようです。

サンプル実装では、ステップD & Eはどこにありますか? これは、実稼働環境では実装されていないサンプル実装であることはわかっていますが、OAuth 2.0の仕様に準拠すると仮定しました。

サンプルアプリケーションでは、クライアントはコードを取得しますが、それをOAuthサーバーに転送してトークンを取得しません。 は、実際にそれがステップ3

enter image description here

答えて

0

ですでにコードを含むトークンを取得し[OK]を、私はMicrosoft.Owinソースをダウンロードしてコードをデバッグします。

DotnetOAuthクライアントのlibsは、フードの下でトークン要求を送信します。 Fiddlerを使用しているときにWebRequestオブジェクトを使用しているため、Fiddler ootbによってキャプチャされないため、このオブジェクトを見ることができませんでした。

トークン要求は、トークンコードが含まれ、それはまた

を検証しますそれは

ReceiveAuthenticationToken のEventHandlerに検証されます。

コード・トークンは、ここで作成されます。

private void CreateAuthenticationToken(AuthenticationTokenCreateContext ctx) 
{ 
    var code = Guid.NewGuid().ToString("n") + Guid.NewGuid().ToString("n"); 
    ctx.SetToken(code); 
    _authenticationCodes[ctx.Token] = ctx.SerializeTicket(); <-- stored in a concurrentDictionary as the key for the auth ticket, for demonstration purposes only 
// delete the entry, must only be used once 
}