2016-09-18 13 views
0

私は同じ呼び出しでさらにuserinfoを追加しようとしています。ユーザー名、Auth0のパスワード、そしてコールバックの最初のサインアップは引き続き自分のデータベースにuserinfoを追加します。しかし、私はこれを動作させることはできません。ユーザーが既にAuth0-dbに存在していても、APIにヒットします。あなたは、コールバック内this.onSignupSuccessコールを置くべき角度でauth0を使用したカスタム登録手順

angularAuth0Provider.init({ 
    clientID: "3LGkdfVvFfdsdfMpz1UVcwjh1jktrf7j", 
    domain: "somedomain.eu.auth0.com", 
    callbackURL: "http://127.0.0.1:8080/authorized", 
}); 

答えて

0

public signup(signupForm, callback) { 
const self = AuthService._instance; 
var result = ""; 


self._angularAuth0.signup({ 
    connection: "Users", 
    responseType: "token", 
    email: signupForm.email, 
    password: signupForm.password 
}, (error) => { 
    console.log(error);   
}, this.onSignupSuccess(signupForm));  
} 

private onSignupSuccess(form) { 
const self = AuthService._instance; 

const newUser = { 
    firstName: form.firstName, 
    lastName: form.lastName, 
    email: form.email, 
    birthdate: new Date(form.birthYear, form.birthMonth, form.birthDay), 
    auth0_UserId: this.userProfile.user_id, 
    gender: form.gender 
}; 

self._dataService.add(this.baseUrl + "https://stackoverflow.com/users/", newUser); 
} 

インサイドapp.ts:ここ

はのAuthService内のコードです。現在、それは signupメソッドに3番目のパラメータとして渡されます。そのため、常に実行されます。

self._angularAuth0.signup({ 
    connection: "Users", 
    responseType: "token", 
    email: signupForm.email, 
    password: signupForm.password, 
    auto_login: false 
}, (error) => { 
    console.log(error); 
    if(!error){ 
     this.onSignupSuccess(signupForm); 
    } 
}); 

これ以降、手動でログインすることができます。例hereを参照してください。

+0

動作しません。これは、onSignupSuccessメソッドにヒットする前にcallbackUrlにリダイレクトされます。 – n3tx

+0

問題のcallbackURLがありますか? – n3tx

+0

デフォルトでは、auth0はサインアップに成功した後にユーザーに自動ログインします。 'auto_login:false'オプションを指定してみてください –

関連する問題