1

私が直面している特定の状況のベストプラクティスを理解しようとしています。Webアプリケーションのowin oauthによるクライアントの匿名役割と識別

Microsoft Web APIよりOWIN OAUTH 2ベアラートークン認証を実装しました。それは、あらかじめ定義された認証された「ユーザー」ロールとうまく機能します。

ここでは、認証されたユーザーと同様に、独自の生成されたGUIDを取得しながら、そのようなユーザーにいくつかのAPIアクションにアクセスできるようにするためのユーザーロールをサポートする必要があります(UserIdは、認証)。

これにより、各REST呼び出しのトークンクレームを介して匿名ユーザーに関する情報を取得できます。今の

、私はのために空の\非空の文字列を切り替えることで、これを実装しました:トークンを要求しながら、 grant_type =パスワード&のuserName = &パスワード= &のclient_id = 。

つまり、userNameが指定されていない場合は、ユーザーに「custom_anonymous」ロールを割り当てます。そうでなければ、ユーザーを認証して「user」ロールを割り当てます。

これは良い方法ですか?この目標を達成するためのより良い方法はありますか?

ありがとうございます!

+0

を参照してください、私の最初のworkarroundは=「匿名」grant_typeを渡すと/トークン要求を行うとanonUserIdの請求を含むベアラを取得することです。しかし、私は匿名ユーザーのためのより適切なソリューションがあるかどうかを探しています – mecek

答えて

0

いいえAllowAnonymousまたはAuthorizeでWebAPIを飾ることができます。承認が必要な場合

私もこれに挑戦しています https://docs.microsoft.com/en-us/aspnet/web-api/overview/security/authentication-and-authorization-in-aspnet-web-api

+1

こんにちは、私は匿名ユーザーのための自分のカスタネットロールを作成しようとしています:[Authorize(Roles = "user"、 "custom_anonymous_user")] – Strig

+0

Aspnet IDへのカスタムロール。これをチェックしてください。https://stackoverflow.com/questions/28366497/how-to-add-roles-to-the-asp-identity-bearer-token –

+0

質問は、資格情報を提供していないユーザーのために私自身のcustom_anonymousロールを追加するかどうかです。 username/pwd)はセキュリティ上の賢明な方法です。 – Strig

関連する問題