Hat jemand hier Social Login über Google für Auth0 implementiert? Ich habe ein Problem mit den Tokens (Zugang und ID), die nach der Validierung mit Google zurückgegeben werden.Google Social Login mit Auth0 Tokens für [Autorisierte] API-Aufrufe
mein Code hier:
var waGoogle = new auth0.WebAuth({
domain: 'testApplication.auth0.com',
clientID: '************',
redirectUri: 'http://localhost:8080/'
})
waGoogle.authorize({
connection: 'google-oauth2',
responseType: 'id_token token'
}, function(err, authResult){
if(err){
console.log('Google Login Error')
console.log(err)
}
});
Google Bildschirm erscheint, melde ich mich in und ich bin zurück zu meiner Anwendung umgeleitet. Aus der Anwendung analysiere ich die URL, damit ich den Zugriff und die ID-Token erhalten kann.
let getParameterByName = (name) => {
var match = RegExp('[#&]' + name + '=([^&]*)').exec(window.location.hash);
return match && decodeURIComponent(match[1].replace(/\+/g, ' '));
}
var access_token = getParameterByName('access_token')
var id_token = getParameterByName('id_token')
Problem ich habe, ist, dass keiner der Token erlauben mir meine APIs aufrufen (asp.net web api), die mit dem [autorisieren] Attribut versehen sind. Es gibt ein:
401 (Unauthorized)
Ich weiß, dass mein API funktioniert, wie die normale
Benutzername-Passwort-Authentifizierung
Methode wo ich auch ein access token bekomme, ziehen sich meine api calls gerade durch.
Gibt es die nächsten Schritte, die ich nach dem Zugriff und dem id_token von Google ausführen muss? Muss ich einen zusätzlichen Aufruf an Aut0 machen, um das richtige Zugriffs-Token zu erhalten, um meine Web-API aufrufen zu können?
Danke.
Haben Sie die soziale Google-Verbindung mit Ihren eigenen Schlüsseln konfiguriert, wie [hier] (https://auth0.com/docs/goog-cientid) erläutert. –
Ja, habe ich. Ich kann Token (Zugang und ID) erhalten, aber das Problem, das mir bevorsteht, ist, dass diese Token nicht für die APIs autorisiert sind, die ich mit [Authorized] für asp.net web api eingerichtet habe. – aThink
Ist das Access-Token erhalten Sie ein JWT-Token (eine lange Zeichenfolge mit drei Abschnitten, durch Punkte getrennt). Wenn ja, können Sie es in https://jwt.io debuggen und sehen, wie es sich von dem unterscheidet, das bei Verwendung einer Datenbankverbindung ausgegeben wird. –