Sehr neu zu ember und immer noch meinen Kopf um das Framework. Verwenden von ember-cli 2.9.1.Redirect Schritt nicht feuern mit Ember-Simple-Auth mit Torii und Google-Oauth2
Ich versuche, Authentifizierung mit Ember-Simple-Auth und seine Torii/Google-Oauth2-Authentifikator durchzuführen. An diesem Punkt funktioniert alles außer dem letzten Schritt, der Weiterleitung nach der Authentifizierung. Scheint so, als ob es keine Tutorials oder Beschreibungen gibt, die diesen Teil vollständig beschreiben.
Ich sehe, dass die Authentifizierung erfolgreich durchgeführt wird, erhalte ich einen Authentifizierungscode und es wird im lokalen Speicher gespeichert. Es bleibt überfrischt und all das. Nach dem Popup-Fenster-Tanz tritt die Umleitung jedoch nie auf. Ich bleibe immer noch sitzen auf der Login-Seite, wenn ich zu den redirectUri, die ich registriert mit meiner App und mit Google gebracht werden sollte.
Zusätzlich erscheinen während des Popup-Tanzes zwei Popup-Fenster - das erste ist dasjenige mit Inhalt von Google, das zweite ist dasjenige, das mein redirectUrl in der Adressleiste anzeigt. Beide Fenster schließen jedoch schnell und die Umleitung geschieht nicht auf meiner Hauptanmeldeseite. Auf meiner Hauptanmeldeseite, die in diesem zweiten Popup angezeigt wird, muss etwas sein, das ich nicht richtig handhabe.
Hier ist der relevante Code. Vielen Dank für deine Hilfe!
config/environment.js:
// config/environment.js
var ENV = {
...
torii: {
providers: {
'google-oauth2': {
apiKey: '189573826905-p886jmjpam371fjoitktoec8hretkoo8.apps.googleusercontent.com',
redirectUri: 'https://localhost:4200/app/search',
}
}
},
...
};
app/Komponenten/Google-signin-button.js
// app/components/google-signin-button.js
import Ember from 'ember';
export default Ember.Component.extend({
session: Ember.inject.service(),
didInsertElement() {
Ember.$.getScript('https://apis.google.com/js/platform.js');
},
actions: {
authenticate_google() {
this.get('session').authenticate('authenticator:torii', 'google-oauth2');
},
invalidateSession() {
this.get('session').invalidate();
}
}
});
app/templates/Komponenten/Google-signin-button.hbs
// app/templates/components/google-signin-button.hbs
<meta name="google-signin-client_id" content="755937126905-p886jmjpam371fjoitktoec8hretkoo8.apps.googleusercontent.com">
<div {{action 'authenticate_google'}}>
<h2 id="title">google oauth2 test</h2>
<div google-signin-button class="g-signin2"/>
</div>
{{#if session.isAuthenticated}}
<a {{action 'invalidateSession'}}>Logout</a>
{{else}}
{{#link-to 'login'}}Login{{/link-to}}
{{/if}}
{{yield}}