如何解决具有应用程序角色的守护程序无法访问具有相同角色的具有定义的AuthorizeAttribute的端点
我的项目包括Web应用程序,守护程序应用程序和这两个应用程序的Common API。 这是“通用API应用程序注册清单”中应用程序角色的定义:
"appRoles": [
{
"allowedMemberTypes": [
"Application","User"
],"description": "Access the Synchronizator as an application","displayName": "access_as_sync_application","id": "XXX","isEnabled": true,"lang": null,"origin": "Application","value": "access_as_sync_application"
},{
"allowedMemberTypes": [
"User"
],"description": "Access to everybody timeentries","displayName": "TimeEntries.Administrator","value": "TimeEntries.Administrator"
},"description": "Access to own timeentries","displayName": "TimeEntries.User","value": "TimeEntries.User"
}
],
如您所见。我已经为MemberType“应用程序”以及用于守护程序应用程序的“用户”定义了角色“ access_as_sync_application”。 这两个应用程序之间的关系在企业应用程序\ API应用程序\用户和组中定义:
但是,一旦我尝试从Daemon应用程序调用API,就会收到403禁止响应。这是我保护端点的方式:
[HttpPost]
[Authorize(Roles = "access_as_sync_application")]
public async Task<ActionResult<LogSyncResult>> LogSync([FromBody] LogSyncCommand command)
{
LogSyncResult result = await Mediator.Send(command);
return Ok(result);
}
一切正常,直到我使用AuthorizeAttribute。我检查了访问令牌的内容,它包含必需的角色:
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。