2017-07-06 12 views
1

私は現在Auth0を使用して認証を行うAngular 2 Appを持っています。すべて正常に動作していますが、ログインサービスのコールバックURLはライブWebサイトでのみ機能します。だから、私がlocalhostで開発コードを実行しているときにログインすると、私は自分のウェブサイトのライブバージョンにリダイレクトされます。私の展開と、私の展開との間でコードの1行を変え続ける必要はありません。ローカルでテストします。 auth.service.tsのログイン方法は次のとおりです。Auth0コールバックURLライブと開発

public login(): void { 

this.auth0.authorize({ 
    responseType: 'token id_token', 
    audience: 'https://xxxxxx/userinfo', 
    redirectUri: 'http://www.mylivewebsite.com/callback',  
    scope: 'openid' 
}); 

私はこのアプリをローカルでテストするときに使用します。

public login(): void { 

this.auth0.authorize({ 
    responseType: 'token id_token', 
    audience: 'https://xxxxxx/userinfo', 
    redirectUri: 'http://localhost:4200/callback',  
    scope: 'openid' 
}); 

私が来たURLを検出してそれに応じて調整する方法はありますか?私は単純な答えがあるように感じるが、私はそれを働かせる方法を見つけるように思わない。

答えて

0

私がこれを処理する方法は、環境変数で行います。多くの人がNODE_ENVを使用して、アプリが開発中か本番かを判断します。

あなたはこれを行うことができます:

public login(): void { 

this.auth0.authorize({ 
    responseType: 'token id_token', 
    audience: 'https://xxxxxx/userinfo', 

    redirectUri: (process.env.NODE_ENV === 'production') ? [deploy url] : [dev url], 

    scope: 'openid' 
}); 
関連する問題