Auth0回调URL实时和开发

时间:2017-07-06 04:17:48

标签: angular authentication callback auth0

我目前有一个使用Auth0进行身份验证的Angular 2应用程序。一切正常,但登录服务中的回调网址仅适用于实时网站。因此,当我在localhost上运行我的开发代码并进行登录时,它总是将我重定向到我网站的实时版本,我不想在我的部署之间来回更改一行代码。我正在本地测试。这是auth.service.ts中的登录方法。

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'
});

有没有办法检测我来自哪个网址并进行相应调整?我觉得有一个简单的答案,但我似乎无法找到一种方法让它发挥作用。

1 个答案:

答案 0 :(得分: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'
});