Cas server: ошибка единого входа при использовании Google Authentication Delegation - PullRequest
0 голосов
/ 02 июля 2019

У меня возникли проблемы при использовании единого входа с делегированной аутентификацией Google.

У меня есть два сайта A и B, использующих сервер Cas в качестве службы единого входа

  1. Я вхожу на сайт A через casсервер с Google Authentication
  2. Я вхожу в систему на сайте B, затем ошибка произошла

2019-07-03 00: 28: 24 630 ОШИБКА [org.apereo.cas.authentication.PolicyBasedAuthenticationManager] - аутентификация не удалась.Учетные данные могут быть неправильными или CAS не может найти обработчик аутентификации, который поддерживает [ClientCredential (credentials = null, clientName = Google, typedIdUsed = true, userProfile = null)] типа [ClientCredential].Изучите конфигурацию, чтобы убедиться, что определен метод аутентификации, и проанализируйте журналы CAS на уровне DEBUG, чтобы отследить событие аутентификации.


I установка сайта Сервисный json-файл, такой как

{
  "@class" : "org.apereo.cas.services.RegexRegisteredService",
  "clientId": "69438529176-ghio8mpe9c10oia1b5qbm1vdbe0sci95.apps.googleusercontent.com",
  "clientSecret": "tihWWJ6zKIuvYSgl4Fk36w1g",
  "serviceId" : "^http://127.0.0.1:8000/.*",
  "name" : "Rating service",
  "id" : 1994,
  "allowedToProxy":true,
  "enabled":true,
  "ssoEnabled":true,
  "anonymousAccess":false,
  "proxyPolicy" : {
    "@class" : "org.jasig.cas.services.RefuseRegisteredServiceProxyPolicy"
  },
  "usernameAttributeProvider" : {
    "@class" : "org.jasig.cas.services.DefaultRegisteredServiceUsernameProvider"
  },
  "attributeReleasePolicy" : {
    "@class" : "org.apereo.cas.services.ReturnAllowedAttributeReleasePolicy",
    "allowedAttributes" : [ "java.util.ArrayList", [ "username", "name", "given_name", "family_name", "email", "access_token",  "picture"] ],
    "authorizedToReleaseCredentialPassword" : false,
    "authorizedToReleaseProxyGrantingTicket" : true
  },
  "accessStrategy" : {
    "@class" : "org.apereo.cas.services.DefaultRegisteredServiceAccessStrategy",
    "delegatedAuthenticationPolicy" : {
      "@class" : "org.apereo.cas.services.DefaultRegisteredServiceDelegatedAuthenticationPolicy",
      "allowedProviders" : [ "java.util.ArrayList", [ "Google" ] ]
    },
    "enabled" : true,
    "ssoEnabled" : true,
    "permitUndefined": true,
    "exclusive": true
  },
  "publicKey" : {
    "@class" : "org.apereo.cas.services.RegisteredServicePublicKeyImpl",
    "location" : "classpath:public.key",
    "algorithm" : "RSA"
  }
}

сайт B:

{
  "@class" : "org.apereo.cas.services.RegexRegisteredService",
  "clientId": "69438529176-ghio8mpe9c10oia1b5qbm1vdbe0sci95.apps.googleusercontent.com",
  "clientSecret": "tihWWJ6zKIuvYSgl4Fk36w1g",
  "serviceId" : "^http://ratingservice.com/.*",
  "name" : "Rating service",
  "allowedToProxy":true,
  "enabled":true,
  "ssoEnabled":true,
  "anonymousAccess":false,
  "proxyPolicy" : {
    "@class" : "org.jasig.cas.services.RefuseRegisteredServiceProxyPolicy"
  },
  "usernameAttributeProvider" : {
    "@class" : "org.jasig.cas.services.DefaultRegisteredServiceUsernameProvider"
  },
  "id" : 100,
  "attributeReleasePolicy" : {
    "@class" : "org.apereo.cas.services.ReturnAllowedAttributeReleasePolicy",
    "allowedAttributes" : [ "java.util.ArrayList", [ "username", "name", "given_name", "family_name", "email", "access_token",  "picture"] ],
    "authorizedToReleaseCredentialPassword" : false,
    "authorizedToReleaseProxyGrantingTicket" : true
  },
  "accessStrategy" : {
    "@class" : "org.apereo.cas.services.DefaultRegisteredServiceAccessStrategy",
    "delegatedAuthenticationPolicy" : {
      "@class" : "org.apereo.cas.services.DefaultRegisteredServiceDelegatedAuthenticationPolicy",
      "allowedProviders" : [ "java.util.ArrayList", [ "Google" ] ]
    },
    "enabled" : true,
    "ssoEnabled" : true,
    "permitUndefined": true,
    "exclusive": true
  },
  "publicKey" : {
    "@class" : "org.apereo.cas.services.RegisteredServicePublicKeyImpl",
    "location" : "classpath:public.key",
    "algorithm" : "RSA"
  }
}

И cas.properties, как это:

cas.server.name: https://cas.topica.asia:8443
cas.server.prefix=${cas.server.name}/cas

logging.config: file:/etc/cas/config/log4j2.xml

cas.serviceRegistry.initFromJson=true
cas.serviceRegistry.json.location:file:etc/cas/services

cas.sso.proxyAuthnEnabled=true
cas.sso.renewAuthnEnabled=true

cas.authn.pac4j.name=pac4j

cas.authn.pac4j.google.id=780031468524-kj5cgs4eo0iqif079kdo350q5h7viftg.apps.googleusercontent.com
cas.authn.pac4j.google.secret=fN5dob1bG0CJZHgQk7tJEEi2
cas.authn.pac4j.google.clientName=Google
cas.authn.pac4j.google.autoRedirect=false
cas.authn.pac4j.google.scope=EMAIL_AND_PROFILE
cas.authn.pac4j.typedIdUsed=true
cas.authn.pac4j.principalAttributeId=

cas.logout.followServiceRedirects=true

logging.level.org.apereo.cas=DEBUG

cas.authn.mfa.globalFailureMode=NONE


cas.authn.accept.users=casuser::Mellon
cas.authn.accept.name=Static Credentials

Пожалуйста, помогите мне, я застрял на этомпроблема на месяц.Извините за мой плохой английский: (* ​​1028 *

...