2017-04-25 13 views
0

私は小さなドットネットコアmvc​​とapiアプリケーションを保護しようとしています。Dotnetコアセキュリティoauthとベアラ

ログイン/パスワードのソースとしてADFS 3.0 Server2012 R2を使用する必要があります。

APIでバージョン管理を使用する必要があります。 (Microsft.aspnetcore.mvc.versioning)

APIにはログイン/パスワードを送信したくない、ベアラトークンです。

私はcookieauthenticationとOAuthをADFSエンドポイントに対して設定しましたが、mvc uiでは問題なく動作しますが、mvc UIコントローラからAPIへのhttpclientでAPIを動作させるにはどうすればよいかわかりません。

私はIdentityServer 1または多分2を使用し、ベアラトークンを使用しましたが、OAuthイベントのOnCreatingTicketにトークンを作成する方法と、格納場所がわからないことがありました。私はクレームを試みましたが、機能しなかったので、不正な形式か間違っている可能性があります。

私の問題がIdentityServerのようなものを使用することを保証するかどうかは不明です。サイトが小さく、ユーザーストアが不要なため、すべてLDAP/ADFSにあります。

oauth認証からトークンを作成し、クレームのようなどこかに保存して、httpclientに渡して確認することができます。私がしようとしたトークンを構築adfsOption内部

app.UseCookieAuthentication(option); 
app.UseJwtBearerAuthentication(bearer); //api 
app.UseOAuthAuthentication(adfsOption); //mvc ui 

...

すべてはその非常にまっすぐ進む私の質問への答えはイエスである

答えて

0

、「セキュリティエラーが発生しました」
メッセージを取得します。私は後で要点を掲示します。私の主な問題は、httpclientがssl用の私のdev certを気に入らなかったことでした。

クレームにトークンを入れても大丈夫だと私はまだ分かりません。 Cookieとoauthは15分ごとに無効にしてリフレッシュしますが、ランダムにリフレッシュトークンを取得するのは非常に難しいでしょう。

この非常に悪いコードを追加すると、自分のトークンをチェックすることができ、期待通りに機能しました。

handler.ServerCertificateCustomValidationCallback = (message, cert, chain, errors) => { return true; }; 
関連する問題