1

我已经设置了一个 CAS 服务器,并为我的客户端应用程序配置了一个服务:

{
  "@class" : "org.apereo.cas.support.oauth.services.OAuthRegisteredService",
  "clientId": "*********",
  "clientSecret": "*****************",
  "serviceId" : "^(http|https|imaps)://.*coll.mydomain.org.*",
  "name" : "Angular OAuth2 App",
  "id" : 10000013,
  "supportedGrantTypes": [ "java.util.HashSet", [ "implicit", "refresh_token", "client_credentials" ] ],
  "supportedResponseTypes": [ "java.util.HashSet", [ "token" ] ],
  "bypassApprovalPrompt" : true,
  "jsonFormat" : true,
  "attributeReleasePolicy" : {
    "@class" : "org.apereo.cas.services.ReturnAllAttributeReleasePolicy"
  },
  "logoutUrl" : "https://sso.coll.mydomain.org/cas/logout"
}

用户使用 is(正确)凭据提交登录表单后,OAuth2 流程继续并生成此 http 请求

GET https://sso.coll.mydomain.org/cas/oauth2.0/callbackAuthorize?client_id=*************&redirect_uri=https://myclientapp.coll.mydomain.org&response_type=token&client_name=CasOAuthClient&ticket=ST-*********************************************

它得到了这个(错误的)位置响应标头,其中协议已从 HTTPS 切换到 HTTP

location: http://sso.coll.mydomain.org/cas/oauth2.0/authorize?response_type=token&client_id=*************&redirect_uri=https%3A%2F%2Fmyclientapp.coll.mydomain.org

这是一个问题,因为(正确地)使用以下警告中断了 Chrome 上的用户网络流:

“您发送的信息不受保护”

cas.properties

cas.server.name: https://sso.coll.mydomain.org
cas.server.prefix: https://sso.coll.mydomain.org/cas

谁能建议我使用什么配置使 CAS 更改响应位置标头中的协议?

任何建议将不胜感激。谢谢大家。

4

1 回答 1

1

好的,一个简单的 CAS 重启解决了这个问题。但原因仍然是个谜。

于 2020-12-17T10:47:32.190 回答