<html><body><div style="color:#000; background-color:#fff; font-family:HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;font-size:16px"><div id="yui_3_16_0_1_1425914407853_95557" class="" style="">Hi Guys,<br></div><div id="yui_3_16_0_1_1425914407853_95557" class="" style=""><br class="" style=""></div><div id="yui_3_16_0_1_1425914407853_95557" class="" style="">Today I spent a few hours looking at Google OpenID integration that you guys have implemented. Over all you guys have done a great job.</div><div id="yui_3_16_0_1_1425914407853_95557" class="" style=""><br class="" style=""></div><div id="yui_3_16_0_1_1425914407853_95557" class="" style="">There are just a few things that I ran into that I wanted to let you guys know. Hopefully this will help someone.</div><div id="yui_3_16_0_1_1425914407853_95557" class="" style=""><br class="" style=""></div><div id="yui_3_16_0_1_1425914407853_95557" class="" style="">1. The OpenID-Connect-Java-Spring-Server ( openid-connect-parent ) project ( master ) builds fine and must be built on the local machine before starting with the simple-web-app project.</div><div id="yui_3_16_0_1_1425914407853_95557" class="" style=""><br class="" style=""></div><div id="yui_3_16_0_1_1425914407853_95557" class="" style="">2. As per https://github.com/mitreid-connect/OpenID-Connect-Java-Spring-Server/wiki/Sample-Static-Configuration-for-using-Google-Authentication, the simple-web-app project works with the development branch only (as of 03/09/2015). This requires several changes.&nbsp;</div><div id="yui_3_16_0_1_1425914407853_95557" class="" style=""><br class="" style=""></div><div id="yui_3_16_0_1_1425914407853_95557" class="" style=""><span class="" style="white-space:pre">        </span>a). The master project has moved to spring-security-3.2.5 while the simple-web-app is still on spring-security 3.1.4</div><div id="yui_3_16_0_1_1425914407853_95557" class="" style=""><span class="" style="white-space:pre">        </span>b). In step 4, you also need clientSecret. Else you get a "HTTP Status 401 - Authentication Failed: Unable to obtain Access Token: 400 Bad Request" error.</div><div id="yui_3_16_0_1_1425914407853_95557" class="" style=""><span class="" style="white-space:pre">        </span>c). In step 4, the https://my-redirect-uri-setup-in-google/ must be of the form http://localhost:8080/simple-web-app/openid_connect_login</div><div id="yui_3_16_0_1_1425914407853_95557" class="" style=""><span class="" style="white-space:pre">        </span>d). in servlet-context.xml, <b>DefaultJWTSigningAndValidationService</b> is spelled as <b>DefaultJwtSigningAndValidationService</b> which results in a classnotfoundexception on startup</div><div id="yui_3_16_0_1_1425914407853_95557" class="" style=""><br class="" style=""></div><div id="yui_3_16_0_1_1425914407853_95557" class="" style="">3. The final issue I ran into is that after authentication is complete I get a "request for "https://www.googleapis.com/plus/v1/people/me/openIdConnect" resulted in 403" error. The issue and the solution is described in detail here:</div><div id="yui_3_16_0_1_1425914407853_95557" class="" style="">http://stackoverflow.com/questions/19335503/keep-getting-a-daily-limit-for-unauthenticated-use-exceeded-continued-use-requ</div><div id="yui_3_16_0_1_1425914407853_95557" class="" style=""><br class="" style=""></div><div id="yui_3_16_0_1_1425914407853_95557" class="" style="">This is not an issue with your implementation but does prevent people from running the example successfully :)</div><div id="yui_3_16_0_1_1425914407853_95557" class="" style=""><br class="" style=""></div><div id="yui_3_16_0_1_1425914407853_95557" class="" style="">Hope this helps.</div><div id="yui_3_16_0_1_1425914407853_95557" class="" style=""><br></div><div id="yui_3_16_0_1_1425914407853_95557" class="" style="" dir="ltr">Thanks</div><div id="yui_3_16_0_1_1425914407853_95557" class="" style="">Prashant</div><div id="yui_3_16_0_1_1425914407853_95557" class="" style=""><br class="" style=""></div><div id="yui_3_16_0_1_1425914407853_95557" class="" style=""><br class="" style=""></div><div id="yui_3_16_0_1_1425914407853_95557" class="" style=""><br class="" style=""></div><div id="yui_3_16_0_1_1425914407853_95557" class="" style="">--- a/pom.xml</div><div id="yui_3_16_0_1_1425914407853_95557" class="" style="">+++ b/pom.xml</div><div id="yui_3_16_0_1_1425914407853_95557" class="" style="">@@ -11,8 +11,8 @@</div><div id="yui_3_16_0_1_1425914407853_95557" class="" style="">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;org.springframework-version&gt;3.2.3.RELEASE&lt;/org.springframework-version&gt;</div><div id="yui_3_16_0_1_1425914407853_95557" class="" style="">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;org.aspectj-version&gt;1.6.9&lt;/org.aspectj-version&gt;</div><div id="yui_3_16_0_1_1425914407853_95557" class="" style="">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;org.slf4j-version&gt;1.5.10&lt;/org.slf4j-version&gt;</div><div id="yui_3_16_0_1_1425914407853_95557" class="" style="">- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;spring.security.version&gt;3.1.4.RELEASE&lt;/spring.security.version&gt;</div><div id="yui_3_16_0_1_1425914407853_95557" class="" style="">- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;mitreid-connect-version&gt;1.1.12&lt;/mitreid-connect-version&gt;</div><div id="yui_3_16_0_1_1425914407853_95557" class="" style="">+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;spring.security.version&gt;3.2.5.RELEASE&lt;/spring.security.version&gt;</div><div id="yui_3_16_0_1_1425914407853_95557" class="" style="">+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;mitreid-connect-version&gt;1.2.0-SNAPSHOT&lt;/mitreid-connect-version&gt;</div><div id="yui_3_16_0_1_1425914407853_95557" class="" style="">&nbsp; &nbsp; &nbsp; &nbsp; &lt;/properties&gt;</div><div id="yui_3_16_0_1_1425914407853_95557" class="" style="">&nbsp;</div><div id="yui_3_16_0_1_1425914407853_95557" class="" style=""><br class="" style=""></div><div id="yui_3_16_0_1_1425914407853_95557" class="" style="">diff --git a/src/main/webapp/WEB-INF/spring/appServlet/servlet-context.xml b/src/main/webapp/WEB-INF/spring/appServlet/servlet-context.xml</div><div id="yui_3_16_0_1_1425914407853_95557" class="" style="">index 4b2713c..7fd239d 100644</div><div id="yui_3_16_0_1_1425914407853_95557" class="" style="">--- a/src/main/webapp/WEB-INF/spring/appServlet/servlet-context.xml</div><div id="yui_3_16_0_1_1425914407853_95557" class="" style="">+++ b/src/main/webapp/WEB-INF/spring/appServlet/servlet-context.xml</div><div id="yui_3_16_0_1_1425914407853_95557" class="" style="">@@ -7,7 +7,7 @@</div><div id="yui_3_16_0_1_1425914407853_95557" class="" style="">&nbsp; &nbsp; &nbsp; &nbsp; xmlns:tx="http://www.springframework.org/schema/tx" xmlns:util="http://www.springframework.org/schema/util"</div><div id="yui_3_16_0_1_1425914407853_95557" class="" style="">&nbsp; &nbsp; &nbsp; &nbsp; xsi:schemaLocation="http://www.springframework.org/schema/security/oauth2 http://www.springframework.org/schema/security/spring-security-oauth2.xsd</div><div id="yui_3_16_0_1_1425914407853_95557" class="" style="">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd</div><div id="yui_3_16_0_1_1425914407853_95557" class="" style="">- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-3.1.xsd</div><div id="yui_3_16_0_1_1425914407853_95557" class="" style="">+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-3.2.xsd</div><div id="yui_3_16_0_1_1425914407853_95557" class="" style="">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd</div><div id="yui_3_16_0_1_1425914407853_95557" class="" style="">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.0.xsd</div><div id="yui_3_16_0_1_1425914407853_95557" class="" style="">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.1.xsd</div><div id="yui_3_16_0_1_1425914407853_95557" class="" style=""><br class="" style=""></div><div id="yui_3_16_0_1_1425914407853_95557" class="" style="">&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;</div><div id="yui_3_16_0_1_1425914407853_95557" class="" style="">&nbsp; &nbsp; &nbsp; &nbsp; &lt;!--</div><div id="yui_3_16_0_1_1425914407853_95557" class="" style="">@@ -430,7 +487,7 @@</div><div id="yui_3_16_0_1_1425914407853_95557" class="" style="">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; This service sets up a bunch of signers and validators based on our own keys.</div><div id="yui_3_16_0_1_1425914407853_95557" class="" style="">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Replace this keystore's contents for a production deployment.</div><div id="yui_3_16_0_1_1425914407853_95557" class="" style="">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;--&gt;</div><div id="yui_3_16_0_1_1425914407853_95557" class="" style="">- &nbsp; &nbsp; &nbsp; &lt;bean id="defaultSignerService" class="org.mitre.jwt.signer.service.impl.DefaultJwtSigningAndValidationService"&gt;</div><div id="yui_3_16_0_1_1425914407853_95557" class="" style="">+ &nbsp; &nbsp; &nbsp; &lt;bean id="defaultSignerService" class="org.mitre.jwt.signer.service.impl.DefaultJWTSigningAndValidationService"&gt;</div><div id="yui_3_16_0_1_1425914407853_95557" class="" style="">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;constructor-arg name="keyStore"&gt;</div><div id="yui_3_16_0_1_1425914407853_95557" class="" style="">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;bean id="defaultKeyStore" class="org.mitre.jose.keystore.JWKSetKeyStore"&gt;</div><div id="yui_3_16_0_1_1425914407853_95557" class="" style="">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;property name="location" value="classpath:keystore.jwks" /&gt;</div><div id="yui_3_16_0_1_1425914407853_95557" class="" style="">@@ -449,3 +506,4 @@</div><div id="yui_3_16_0_1_1425914407853_95557" class="" style="">&nbsp; &nbsp; &nbsp; &nbsp; &lt;/bean&gt;</div><div id="yui_3_16_0_1_1425914407853_95557" class="" style="">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</div><div id="yui_3_16_0_1_1425914407853_95557" class="" style="">&nbsp;&lt;/beans&gt;</div><div id="yui_3_16_0_1_1425914407853_95557" class="" style="">+ &nbsp;</div><div id="yui_3_16_0_1_1425914407853_95557" class="" style="">\ No newline at end of file</div><div id="yui_3_16_0_1_1425914407853_95557" class="" style="">diff --git a/src/main/webapp/WEB-INF/spring/root-context.xml b/src/main/webapp/WEB-INF/spring/root-context.xml</div><div id="yui_3_16_0_1_1425914407853_95557" class="" style="">index d5fd2c5..e3c96f4 100644</div><div id="yui_3_16_0_1_1425914407853_95557" class="" style="">--- a/src/main/webapp/WEB-INF/spring/root-context.xml</div><div id="yui_3_16_0_1_1425914407853_95557" class="" style="">+++ b/src/main/webapp/WEB-INF/spring/root-context.xml</div><div id="yui_3_16_0_1_1425914407853_95557" class="" style="">@@ -8,7 +8,7 @@</div><div id="yui_3_16_0_1_1425914407853_95557" class="" style="">&nbsp; &nbsp; &nbsp; &nbsp; xmlns:oauth="http://www.springframework.org/schema/security/oauth2"</div><div id="yui_3_16_0_1_1425914407853_95557" class="" style="">&nbsp; &nbsp; &nbsp; &nbsp; xsi:schemaLocation="http://www.springframework.org/schema/security/oauth2 http://www.springframework.org/schema/security/spring-security-oauth2-2.0.xsd</div><div id="yui_3_16_0_1_1425914407853_95557" class="" style="">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd</div><div id="yui_3_16_0_1_1425914407853_95557" class="" style="">- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-3.1.xsd</div><div id="yui_3_16_0_1_1425914407853_95557" class="" style="">+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-3.2.xsd</div><div id="yui_3_16_0_1_1425914407853_95557" class="" style="">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd</div><div id="yui_3_16_0_1_1425914407853_95557" class="" style="">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.2.xsd</div><div id="yui_3_16_0_1_1425914407853_95557" class="" style="">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd"&gt;</div><div id="yui_3_16_0_1_1425914407853_95557" class="" style=""><br class="" style=""></div><div id="yui_3_16_0_1_1425914407853_95557" class="" style=""><br class="" style=""></div></div></body></html>