Ich habe hier ein wenig gesucht, konnte aber keine Antwort auf mein Problem finden.Verwendung von Google API mit spring-security-oauth2.0
Ich implementiere oAuth Client mit Feder-Sec-OAuth 2.0 (1.0.0.RC2a). Nachdem ich die beans.xml richtig gesetzt habe, bekomme ich glücklich ein gültiges Token und alles sieht gut aus. Dann möchte ich Kalender-APIs verwenden - ich bin mir nicht sicher, wie ich den Aufruf zum Abrufen des Kalenderobjekts mache.
Meine (relevanten) Einstellungen: (feder servlet.xml)
<!--apply the oauth client context-->
<oauth:client id="oauth2ClientFilter" />
<oauth:resource id="google"
type="authorization_code"
client-id="<my client id>"
client-secret="<my client secret>"
access-token-uri="https://accounts.google.com/o/oauth2/token"
user-authorization-uri="https://accounts.google.com/o/oauth2/auth"
scope="https://www.googleapis.com/auth/calendar"
client-authentication-scheme="form"
pre-established-redirect-uri="https://ohad.sealdoc.com/oauth2-client/hello" />
<bean id="googleClientService" class="com...GoogleClientServiceImpl">
<property name="butkeDemoRestTemplate">
<oauth:rest-template resource="google" />
</property>
und die Implementierungsklasse:
public class GoogleClientServiceImpl implements DemoService
{
private RestOperations butkeDemoRestTemplate;
@Override
public String getTrustedMessage()
{
String dataUri = "https://www.googleapis.com/calendar/v3/users/me/calendarList?minAccessRole=writer";
Calendar service = butkeDemoRestTemplate.getForObject(dataUri, Calendar.class);
return "demo";
}
}
Doing endet so nach oben mit:
Request-Verarbeitung gescheitert; verschachtelte Ausnahme ist error = "invalid_request", ERROR_DESCRIPTION = "{errors = [{domain = usageLimits, reason = accessNotConfigured, message = Zugriff nicht konfiguriert}], code = 403, message = Zugriff nicht konfiguriert}"
Definitiv, ich mache etwas falsch in meiner "getTrustedMessage()", also höre ich die Experten zu konsultieren ... Ich möchte OAuth2RestTemplate verwenden, aber woher weiß ich die URI, die ich verwenden sollte? Nach der Suche (Google), fand ich nur Beispiele für Google-Code, und sie verwenden Google oAuth (die ich nicht verwenden möchte - ich würde eher Spring-Implementierung für meinen Kunden verwenden)
irgendwelche Ideen?
Können Sie mir bitte auf einen netten Artikel Punkt, wo ich kann meine eigene OAuth-Anwendung basierend auf Spring Security implementieren und Google als Provider verwenden. Würde es wirklich zu schätzen wissen. –
@Anand Ich denke, der beste Artikel ist Spring-Security-oAuth Wiki-Seite. Sie haben dort alle Details zum Schreiben Ihres Clients und der geschützten Ressource, und der Identity-Provider wird Google sein, also müssen Sie das XML der geschützten Ressource konfigurieren. https://github.com/SpringSource/spring-security-oauth/wiki/oauth2 – OhadR
Wie und wann Benutzer auf die Zustimmungsseite umgeleitet wird? Ich versuche die Benutzerregistrierung mit Oauth2 & Google als Provider zu implementieren. http://stackoverflow.com/questions/20664846/user-registration-login-using-spring-security-oauth-2-0 –