首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Asp.Net核心-来自另一台服务器的自定义授权和身份?

Asp.Net核心-来自另一台服务器的自定义授权和身份?
EN

Stack Overflow用户
提问于 2017-04-08 06:54:49
回答 1查看 943关注 0票数 1

我正试图弄清楚如何配置/使用通过API访问的另一个服务器中的凭据和用户数据来配置/使用Asp.Net核心授权。

例如,在" Auth“服务器中,我们有Auth数据库,用于存储用户、角色和声明。下面是一些例子:

获取https://auth.myserver.com/v1/users/4/IsInRole/Admin

反应是一个简单的嘘声。

或者:

获取https://auth.myserver.com/v1/users/4/GetRolesForUser/

响应是一个角色列表。

另一个服务器是资源服务器(也完全基于API,没有前端)。它存储了大量需要角色和声明授权的数据。

另外,我们还有第三个玩家:客户。

客户端将:

  1. auth服务器使用用户名和密码获取承载符和刷新令牌。
  2. 客户端存储这些令牌,并将承载者发送到资源服务器以获取一些数据。
  3. 资源服务器将询问auth服务器承载令牌是否有效。
  4. 如果是的话,那么资源服务器需要再次向auth服务器询问拥有该承载令牌的用户,以及如果该用户有访问所请求的资源所必需的漏洞/声明。

第四步是我的怀疑。我认为这种情况应该发生在资源服务器控制器上:

代码语言:javascript
复制
[HttpGet]
[Authorize(Roles = "Admin")]   //API CALL HERE TO THE AUTH SERVER (?)
public async Task<IActionResult> GetData()
{
    ...

基本上,我不知道如何在上下文中对用户进行身份验证(直到请求返回),并使用我自己的自定义验证过程将其放入HttpContext.User中。

我试图尽可能地简化这个体系结构,以使我的问题更加清楚。请忘记“八月”服务器上的安全问题。

EN

回答 1

Stack Overflow用户

发布于 2017-04-08 08:39:04

如果您正在使用jwts,这个流程可以简化,角色可以存储在声明中,这意味着在authorise属性中不需要api调用。

此外,资源服务器不需要验证令牌是否有效,可以使用一个秘密来完成。

以下是好的资源https://leastprivilege.com/https://brockallen.com/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43291125

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档