Auth0 回调 URL 上线和开发

Auth0 Callback URL Live and Development

我目前有一个 Angular 2 应用程序使用 Auth0 进行身份验证。一切正常,但登录服务中的回调 url 仅适用于实时网站。因此,当我 运行 我在本地主机上的开发代码并登录时,它总是将我重定向到我网站的实时版本,我不想在我的部署之间来回更改一行代码当我在本地测试时。这是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'
});

有没有办法检测 URL 我的来源并进行相应调整?我觉得有一个简单的答案,但我似乎无法找到使其工作的方法。

我处理这个问题的方式是使用环境变量。许多人会使用 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'
});