没有HTTPS的IdentityServer4无法正常运行

时间:2019-02-27 10:10:06

标签: angular .net-core identityserver4

我目前正忙于为多个应用程序实现SSO,因此我正在使用IdentityServer4进行身份验证。

在本地,一切正常,我的角度应用程序正在按需进行重定向和身份验证,并且一切都在本地正常进行。

对于我的Angular应用,我正在使用angular-oauth2-oidc。

但是..

我们的内部测试/ QA环境无法从外部访问,并且我们无法在该服务器上使用HTTPS,因此我现在尝试在没有HTTPS的情况下使用它(因此仅使用纯HTTP)。 在客户端,我将angular-oauth2-oidc设置requireHttps设置为false,因此初始重定向有效,但是,在我尝试登录的那一刻,它不会重定向回我的应用程序,并且我无法终生让它工作!

有人可以帮忙吗!

我知道我的RedirectUris和PostLogoutRedirectUris设置正确,因为如果我使用HTTPS,它就可以工作... 但似乎实际的登录部分是:

  

等待HttpContext.SignInAsync(userId,userName,props,claims);

可能会出现问题,因为如果我查看日志,则会看到以下内容:

  

IdentityServer4.Endpoints.AuthorizeCallbackEndpoint:Debug:开始   授权回调请求   IdentityServer4.Endpoints.AuthorizeCallbackEndpoint:Debug:没有用户   出现在授权请求中   IdentityServer4.Validation.AuthorizeRequestValidator:Debug:开始   授权请求协议验证   IdentityServer4.Stores.ValidatingClientStore:Debug:客户端   客户端openIdConnectClient的配置验证成功。   IdentityServer4.Validation.AuthorizeRequestValidator:Debug:正在调用   进入自定义验证器:   IdentityServer4.Validation.DefaultCustomAuthorizeRequestValidator   IdentityServer4.Endpoints.AuthorizeCallbackEndpoint:信息:   ValidatedAuthorizeRequest {“ ClientId”:“ openIdConnectClient”,
  “ ClientName”:“示例隐式客户端应用程序”,“ RedirectUri”:   “ http://localhost:4200/signin-oidc”,“ AllowedRedirectUris”:[       “ {http://localhost:4200/signin-oidc”],“ SubjectId”:“匿名”,“ ResponseType”:“ id_token令牌”,“ ResponseMode”:   “ fragment”,“ GrantType”:“隐式”,“ RequestedScopes”:“ openid   个人资料电子邮件用户名“电子邮件地址”,“状态”:   “ xGKOyXoYjiYtX22q3rwXLTni0V9HlgKrarR0lRNd”,“ Nonce”:   “ xGKOyXoYjiYtX22q3rwXLTni0V9HlgKrarR0lRNd”,“原始”:{       “ response_type”:“ id_token令牌”,       “ client_id”:“ openIdConnectClient”,       “ state”:“ xGKOyXoYjiYtX22q3rwXLTni0V9HlgKrarR0lRNd”,       “ redirect_uri”:“ http://localhost:4200/signin-oidc”,       “ scope”:“ openid个人资料电子邮件用户名EmailAddress”,       “ nonce”:“ xGKOyXoYjiYtX22q3rwXLTni0V9HlgKrarR0lRNd”}} IdentityServer4.ResponseHandling.AuthorizeInteractionResponseGenerator:信息:   显示登录信息:用户未通过认证

我看到以下几行: 授权请求中没有用户

“ SubjectId”:“匿名”

显示登录名:用户未通过身份验证

即使找到用户,它仍然会这样做,所以我认为这可能是问题所在,但是我不知道如何解决它;(

提前谢谢!!!!

0 个答案:

没有答案