我有一个使用Owin和Identity Server 4进行身份验证的.net表单客户端,但我没有从其中获得额外的声明 HttpContext.Current.GetOwinContext()。Authentication.User。我做错了什么?
我在IDS4上的accountController中添加了额外的声明,如下所示:
await HttpContext.Authentication.SignInAsync(user.SubjectId, user.Username, props, additionalClaims.ToArray());
在我的客户端:
if (!Request.IsAuthenticated)
{
HttpContext.Current.GetOwinContext().Authentication.Challenge(
new AuthenticationProperties
{
RedirectUri = "/Default1.aspx",
},
OpenIdConnectAuthenticationDefaults.AuthenticationType);
}
else
{
foreach (var claim in HttpContext.Current.GetOwinContext().Authentication.User.Claims)
答案 0 :(得分:1)
您是否接受了索赔财产中的索赔:
byte 0
short 0
int 0
long 0L
float 0.0f
double 0.0d
char '\u0000'
boolean false
这是我使用Owin和cookie身份验证的方式,它可以完美地运行