我正在使用jasig cas4.0服务器。我已经在我的cas服务器中实现了Facebook oAuth2.0支持,它可以正常工作。现在,我想在同一个CAS服务器中添加Google oauth支持(Google2Client)。
1)我在console.developers.google.com中创建了一个新项目,在OAuth下创建了一个新的客户端ID,并将uri重定向到https://rajan.com:1443/cas/login(实际上指向localhost)
2)我将此添加到我的applicationcontext.xml
<bean id="google1" class="org.pac4j.oauth.client.Google2Client">
<property name="key" value="<<CLIENT_ID>>" />
<property name="secret" value="<CLIENT_SECRET" />
<property name="scope" value="email" />
<property name="fields" value="id,name,first_name,middle_name,last_name,gender,email" />
</bean>
我还在客户端
中注册了这个bean<bean id="clients" class="org.pac4j.core.client.Clients">
<property name="callbackUrl" value="https://rajan.com:1443/cas/login" />
<property name="clients">
<list>
<ref bean="facebook1" />
<ref bean="google1" />
</list>
</property>
</bean>
3)最后,我在casLoginView.jsp
中添加了这个<a href="${FacebookClientUrl}">Authenticate with Facebook</a> <br />
<a href="${Google2ClientUrl}">Authenticate with Google</a> <br />
但是,当我在浏览器中打开cas登录视图时,Google的href包含“https://rajan.com:1443/cas/login?service=https%3A%2F%2Frajan.com%3A2443%2FCasClientSimple%2F”而不是Google Oauth网址。 Facebook链接正常。
有人可以帮助我,我在这里失踪了。 谢谢。
答案 0 :(得分:0)
我检查了Google2OauthClient。没有字段属性。
因此,只需删除上述bean中的fields属性即可。 我还使用 EMAIL_AND_PROFILE
更改了字段电子邮件