如何在IdentityServer本身的IndentityServer3中使用[Authorize]?

时间:2016-02-13 16:07:35

标签: identityserver3

我已经使用IdentityManager和MembershipReboot设置了IdentityServer3服务器,并成功地设法在几个不同的ASP.NET Web API服务器和几个Angular JS客户端上实现了承载身份验证。

我希望能够在IdentityServer3 Web API项目本身上设置一个端点,用户可以访问该端点以编辑他们的电子邮件地址,密码等。为了做到这一点,我需要成为能够在IdentityServer3服务器上运行的其中一个控制器中使用[Authorize]属性。我无法找到如何做到这一点。

在使用我的IdentityServer3服务器的项目中,我只需添加如下内容:

app.UseIdentityServerBearerTokenAuthentication(...);

我想知道我是否可以在服务器本身做同样的事情,但在这种情况下它不会是Bearer token身份验证。

我只想将一个MVC页面添加到auth服务器,我可以从客户端应用程序重定向到该服务器以允许用户修改其详细信息。我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:0)

IdentityServer3中有一个OWIN Context Environment扩展,即GetIdentityServerFullLoginAsync,它检索登录用户(存储在cookie中)。

我可以创建一个新的Action,使用它来检索登录用户并显示他们的详细信息。我也可以添加端点来更新密码等,只要我以通常的MVC方式防止CSRF。