1. ホーム
  2. c#

[解決済み] ApiController のアクションで、userID をパラメータとして渡さずに、現在のユーザーを取得する。

2022-12-01 22:34:45

質問

セキュアな ApiController アクションで、userName や userId をパラメータとして渡すことなく、現在のユーザーを取得するにはどうしたらよいでしょうか。

セキュアなアクションの中にいるのだから、これが利用可能であると仮定します。セキュアなアクションであるということは、ユーザーがすでに認証済みで、リクエストにベアラートークンがあることを意味します。WebApiがユーザーを認証していることを考えると、アクションのパラメーターとして渡すことなく、userIdにアクセスする方法が組み込まれている可能性があります。

どのように解決するのでしょうか?

WebApi 2 では RequestContext.Principal をApiControllerのメソッド内で使用することができます。