authentication - .net 网络 API。如何从访问 token 中检索用户属性(用户 ID)?基于当前用户/ token 的请求处理程序代码

标签 authentication asp.net-web-api authorization access-token

假设您有一个用于基于用户的应用程序的 .net Web API 服务器。用户使用发送到服务器的用户名和密码登录应用程序,然后应用程序会返回一个访问 token 。

现在该应用程序想要显示用户信息(存储在服务器上的数据库中)。因此,它向服务器发出 http 请求,并在 header 中包含访问 token 。

您如何限制服务器只会将特定用户的相关信息发送回应用程序,而不会将其他人的信息发送回应用程序。

有没有办法,当我收到他们的用户名和密码并创建要发送回的 token 时,将他们的 userId 与该 token 相关联?因此,现在当我收到对/GetUserFoodPreferences 之类的请求时,我可以从 token 中获取 userId 并根据该 ID 查询我的数据库。

这是正确的方法吗?

最佳答案

将用户 ID 或连接到该用户的其他类型的 ID 存储在 cookie 中将是最常见的方式。然后,您可以检查该 cookie (Request.Cookies["name"];) 的 id 以确认用户。

编辑:当然,如果您正在使用 API Controller 并正确验证您的用户,您可以使用:

HttpContext.Current.User.Identity.GetUserId();

注意:不要忘记 import Microsoft.AspNet.Identity图书馆。

关于authentication - .net 网络 API。如何从访问 token 中检索用户属性(用户 ID)?基于当前用户/ token 的请求处理程序代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27736193/

相关文章:

java - 如何创建用于 Web 服务的密码摘要?

Java Play2 - 从 session 到 cookie

c# - ConfigureAwait(false) 维护线程身份验证,但默认情况下它不会

c# - 将 POST 中的 json 发送到 Web API 服务时出错

用于发布到 craigslist 的 API

c# - 如何在 MVC5 中手动检查 url 授权?

security - 向 Shopify 添加社交登录

session - 通过 WSFederationAuthenticationModule 进行身份验证后在哪里填充 session

c# - 使用多个文件发布 StreamContent

sql - 为我的应用程序的每个问题创建不同的用户!