【发布时间】:2017-02-09 23:24:38
【问题描述】:
提前感谢您在这件事上的帮助!
我希望有人能帮我弄清楚如何按在 Auth0 授权扩展中分配的组授权 API 访问。
我目前正在完美地使用 web api 中的 [Authorize] 属性 - 如果他们已成功登录,它允许 api 调用,如果没有,则阻止它。
但是,如果我尝试 [Authorize(Roles = "myGroupName")] 授权失败。如果我在 Auth0 网站的用户仪表板中手动将其添加到用户 app_metadata,而不是通过扩展程序分配,也会发生同样的情况。
我的项目是按照 Angular 快速入门和 Asp.Net 快速入门设置的。我验证令牌服务器端的 webapiconfig 是:
class WebApiConfig
{
public static void Register(HttpConfiguration configuration)
{
var clientID = WebConfigurationManager.AppSettings["auth0:ClientId"];
var clientSecret = WebConfigurationManager.AppSettings["auth0:ClientSecret"];
configuration.MessageHandlers.Add(new JsonWebTokenValidationHandler()
{
Audience = clientID,
SymmetricKey = clientSecret
});
configuration.Routes.MapHttpRoute("API Default", "api/{controller}/{id}",
new { id = RouteParameter.Optional });
}
}
【问题讨论】:
-
感谢任何帮助。
-
JsonWebTokenValidationHandler 类默认不添加 Claim 角色。看这个帖子auth0.com/forum/t/…
标签: asp.net asp.net-web-api authorization jwt auth0