Ho cercato qui un po 'ma non sono riuscito a trovare una risposta al mio problema.Utilizzo dell'API di Google con spring-security-oauth2.0
Implementare client oAuth con spring-sec-oAuth 2.0 (1.0.0.RC2a). Dopo aver impostato correttamente il bean.xml, ottengo felicemente un token valido e tutto sembra a posto. Quindi, voglio utilizzare le API di Calendar: non sono sicuro di come effettuare la chiamata per ottenere l'oggetto Calendar.
mio (rilevanti) Impostazioni: (primavera-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>
e la classe di implementazione:
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";
}
}
In questo modo si conclude con:
Richiesta di trasformazione fallito; l'eccezione annidata è errore = "invalid_request", ERROR_DESCRIPTION = "{errors = [{domain = usageLimits, ragione = accessNotConfigured, message = Accesso Non configurato}], il codice = 403, messaggio = Accesso Non configurato}"
Definitivamente, sto facendo qualcosa di sbagliato nel mio "getTrustedMessage()", quindi mi sento di consultare gli esperti ... VOGLIO utilizzare OAuth2RestTemplate, ma come faccio a sapere l'URI che dovrei usare? Dopo aver cercato (Google), ho trovato solo esempi di codice Google, e usano Google oAuth (che non voglio usare - preferisco usare l'implementazione Spring per il mio cliente)
qualche idea?
Potete per favore mi punto ad un bell'articolo in cui ho può implementare la mia applicazione OAuth basata su Spring Security e utilizzare Google come provider. Lo apprezzerei davvero. –
@Anand penso che l'articolo migliore sia la pagina wiki Spring-Security-oAuth. ci sono tutti i dettagli della scrittura del tuo cliente e delle risorse protette, e il provider di identità sarà google, quindi devi configurare l'XML della risorsa protetta. https://github.com/SpringSource/spring-security-oauth/wiki/oauth2 – OhadR
Come e quando l'utente viene reindirizzato alla pagina di consenso? Sto cercando di implementare la registrazione degli utenti utilizzando Oauth2 e Google come provider. http://stackoverflow.com/questions/20664846/user-registration-login-using-spring-security-oauth-2-0 –