auth0js中的Authparams

时间:2017-10-08 19:13:38

标签: cordova authentication ionic-framework ionic2 auth0

我需要在auth0中设置其他参数,以使受众网址正常工作。在authlock中你可以简单地执行此操作:

 var lock = new Auth0Lock('clientID', 'account.auth0.com', {
auth: {
 params: {
  audience: 'url'
  }
 }
});

我想我需要在我的authservice中将代码添加到我的auth0config中,但我不确定是什么以及如何:

 const auth0Config = {
 // needed for auth0
 clientID: 'id',

 // needed for auth0cordova
 clientId: 'id',
 domain: 'url',
 callbackURL: location.href,
 packageIdentifier: 'id',

};

谁能告诉我该怎么做?

1 个答案:

答案 0 :(得分:1)

对于Auth0离子2快速入门,尝试添加受众here(以及更新范围信息):

阅读源代码,预计这将在后来当cordova库使用auth0.js时工作,它最终调用this code并且应该将baseOptions与传入的Options合并。但是,由于某种原因,似乎没有效果。

相反,我必须通过在Cordova library itself为观众添加额外的条目来强制执行baseOptions,例如

function CordovaAuth(options) {
  this.clientId = options.clientId;
  this.domain = options.domain;
  this.redirectUri = options.packageIdentifier + '://' + options.domain + '/cordova/' + options.packageIdentifier + '/callback';
  this.client = new auth0.Authentication({
    clientID: this.clientId,
    domain: this.domain,
    // just hard coded here for time being - need a check to see if present first..
    audience: options.audience, 
    _telemetryInfo: telemetry
  });
}

然后通过here instead传递观众 - 这就是您在问题中输入的相同代码段。执行上述操作确实有效,并生成一个带有提供范围的JWT Access令牌,但不清楚为什么简单地将选项添加到选项不起作用...

有趣的是,API似乎表明它是expects audience,而这一行暗示了受众群体would be propogated,并用于构建authorizeUrl here

在Auth0快速入门小组中留下了一个未解决的问题。但上述解决方案将允许您同时使用JWT Access令牌。你可以分叉the repo并按照这种方式进行控制,或者只是进行测试,然后在node_modules文件夹中编辑the source以检查它是否适合您。

一旦我收到Auth0快速入门小组关于"官方"的回复,请回复此答案的更新。解决这个问题。