2017-10-08 26 views
1

我需要在auth0中设置其他参数才能使观众网址正常工作。在authlock你可以简单地这样做:auth0js中的Authparams

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

对于Auth0离子2快速启动,试图将观众here(与更新范围的信息一起):

阅读源,意料之中的,因为后来这个工作时,科尔多瓦库使用auth0.js,它最终调用this code,并应将baseOptions与传入的选项合并。但是,由于某种原因似乎没有工作。

相反,我不得不通过在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访问令牌与提供的范围,但不清楚为什么简单地增加观众选项没有工作,而不是...

有趣的API似乎表明它expects audience和这条线建议观众would be propogated并用于构建authorizeUrlhere

在Auth0快速入门团队中澄清了一个尚未解决的问题。但上述解决方案将允许您在此期间使用JWT Access令牌。您可以分叉the repo并以此方式进行控制,或者仅用于测试,然后在node_modules文件夹中编辑the source以检查它是否适用于您。

一旦我从Auth0快速入门团队收到有关“官方”解决方案的回复,应发布此答案的更新。

+0

我也在auth0论坛上问过并得到了答案,但我并不那么幸运,它没有工作。 Post is here:https://community.auth0.com/questions/9793/test-token-is-different-from-generated-token-audie 也许它使它更逻辑的你,我会尝试我的可以与您的帖子。 – Nathan

+0

我更改了节点源代码,并在auth0论坛上的地方建议添加了观众,现在它可以工作。 我非常感谢你的详细说明,因为我终于可以继续我的项目了。 – Nathan

+0

很棒的听到.. – arcseldon

相关问题