我有一个带有以下代码行的控制器:
document.querySelector("[camera]").getObject3D('camera')
在我的Startup.Auth.cs中,我有以下内容:
if (!Request.IsAuthenticated)
{
HttpContext.GetOwinContext().Authentication.Challenge(OpenIdConnectAuthenticationDefaults.AuthenticationType);
}
在OnTokenValidate中,我应该得到我的主张,我假设。如果是这样,我该怎么做呢。我知道我有一个SecurityTokenValidatedNotification,但该对象的任何方法或成员似乎都没有公开与Claims相关的任何内容。我需要以某种方式存储这些声明,以便我可以在我的控制器上检索它。
答案 0 :(得分:0)
通常对于服务器端Web应用程序,上述Microsoft库默认只使用id令牌中返回的声明。这些声明来自您的授权服务器。
自定义逻辑的位置是在AuthorizationCodeReceived处理程序中。通常你会:
常见的事情是:
这里有一些示例代码可以帮助您入门: https://github.com/IdentityServer/IdentityServer3/issues/2457
答案 1 :(得分:0)
啊 - 我明白了:
设计考虑因素
UPSHOT:如果使用上述库,我建议使用' code id_token' - 它可能会解决你的问题。
通过电线返回什么?
你能看到id令牌中返回的内容(通过Online JWT viewer)吗?这应该是您声称的来源。
IMPLICIT FLOW
这是在UI中的Javascript代码中实现的,而不是在服务器端代码中实现的。在我写的基于教程的博客上有一些关于这个的东西: