如何使用JS API将配置选项传递给Auth0托管页面?

时间:2017-07-05 14:33:14

标签: auth0

我正在使用auth0上的托管登录页面和auth0-js模块来授权我的用户。

文档讨论a config object,页面本身清楚地显示了这样一个被反序列化的对象。

但是,文档并没有远程讨论如何将此对象传递给页面。实际上,远程工作的文档indicate an approach(没有设置配置参数)

我是否需要自己序列化对象并设置config属性还是有其他方法?

1 个答案:

答案 0 :(得分:6)

我解决了这个问题:当你调用托管登录页面时,你必须在授权调用中传递参数。我做了一个示例,允许使用参数指定托管页面的语言。

脚本代码:

var params=new Array();
params['language'] = 'es';

var webAuth = new auth0.WebAuth({
    domain: 'example.auth0.com',
    clientID: 'YOUR_CLIENT_ID',
    redirectUri: 'https://www.example.com/redirect',
    audience: 'https://example.auth0.com/userinfo',
    responseType: 'code',
    scope: 'openid profile email',
    allowShowPassword: true,
});

webAuth.authorize(params);

托管页面代码:

var config = JSON.parse(decodeURIComponent(escape(window.atob('@@config@@'))));
var language;
if (config.extraParams.language)
  language = config.extraParams.language;
else
    language = 'en';

var lock = new Auth0Lock(config.clientID, config.auth0Domain, {
  ...
  language: language
});

lock.show();

因此,您可以使用config.extraParams变量访问您在授权调用中指定的任何参数

P.D。:几个月来,但我希望它可以帮助其他用户