DNOA を使用する .Net MVC4 WebApi アプリと Spring Security を使用する Java アプリの間で、単純な 2 脚の OAuth1a 会話を実装しています。Delegating MessageHandler を実装して受信リクエストを検証する際に、DNOA はリクエストにトークンを含めることを主張しているようです。Spring 実装はトークンを必要としません。私の感じでは、.Net の実装は何らかの点で正しくありません。
これがハンドラーです。これは、トークンを使用して送信すると機能します。
TokenManager tokenManager = new TokenManager();
var requestW = new HttpRequestWrapper(HttpContext.Current.Request);
var sp = new ServiceProvider(Constants.SelfDescription, tokenManager, new NonceStore());
try
{
var auth = sp.ReadProtectedResourceAuthorization(requestW);
if (auth != null)
{
//verfy etc etc
}
catch(Exception)
{ //return UnAuthorized response }
return base.SendAsync(request, cancellationToken);
}
このコードでは、UnauthorizedRequest を受け取ったことを示す ReadProtectedResourceAuthorization 呼び出しで例外が発生します。では、この流れはどのように見えるべきでしょうか? 私が見るほとんどすべては、このタイプのフローにはトークンは必要ないと言っていますが、DNOA はそれを主張しているようです。どんな洞察も高く評価されます。