如何在 Identity Server 本身的 IdentityServer3 中使用 [Authorize]?

How can I use [Authorize] in IndentityServer3 within the IdentityServer itself?

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

我希望能够在 IdentityServer3 Web API 项目本身上设置一个端点,用户可以访问该端点以编辑他们的电子邮件地址、密码等。为了为此,我需要能够在 IdentityServer3 服务器上的一个控制器 运行 中使用 [Authorize] 属性。我在尝试了解如何执行此操作时遇到问题。

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

app.UseIdentityServerBearerTokenAuthentication(...);

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

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

IdentityServer3 中有一个 OWIN 上下文环境扩展,即 GetIdentityServerFullLoginAsync,它检索登录用户(存储在 cookie 中)。

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