2

さまざまなプラットフォーム (WEB、WPF、モバイル) からアクセスする API アプリケーションを作成する必要があります。API は Azure でホストされ、クライアントはさまざまな Web サイトとデスクトップ/モバイル アプリケーションになります。API は、ユーザー固有の情報を返すためにユーザー名を知る必要があります

現在、認証に問題があります。このスレッドから API へのフォーム認証を行う方法のアイデアを使用しましたが、問題があります。前のリクエストで作成した Cookie が次のリクエストに保存されないため、API への各リクエストを認証する必要があります。

私はそこでいくつかのカスタムソリューションを作成することを考えています.ユーザー名/パスワードで送信されたAPIへのログインリクエストが、クライアントに保存し、各リクエストで渡す何らかのトークンを返す場合. その場合、AuthorizeAttribute をオーバーライドしてトークンを検証できます。しかし、カスタム ソリューションを作成し、Microsoft が私のために行ったことを使用する方法を見つけることを好むとは思いません。

異なるプラットフォームから WEB API を認証する最良の方法は何ですか? トークンを返す場合、トークンを作成、エンコード、期限切れにする最良の方法は何ですか?

4

1 に答える 1

0

私の知る限りでは、現時点ですぐに使用できるものはありません。OWIN を使用すると、次のことが起こります。Katana のソース コード (Microsoft.Owin.Security) を見ることができます。JSON Web トークンの場合、Microsoft には JSON Web トークンハンドラーがあります。詳細はこちら。JSON Web Token Handler は、JWT の作成と検証の両方を行うことができます。同じライブラリを使用して、トークン発行者と Web API からそれぞれ JWT を発行および検証できます。これらすべてのインフラストラクチャを作成することは容易ではありません。Thinktecture の ID サーバーと ID モデルを使用すると、これらのタスクが簡単になります。どちらもオープン ソースであり、github でソース コードを確認できます。これこれをチェックしてください。もう 1 つの優れたリソースは Dominick のブログです。

于 2013-07-29T04:23:11.547 に答える