我正在使用auth0上的托管登录页面和auth0-js
模块来授权我的用户。
文档讨论a config object,页面本身清楚地显示了这样一个被反序列化的对象。
但是,文档并没有远程讨论如何将此对象传递给页面。实际上,远程工作的文档indicate an approach(没有设置配置参数)
我是否需要自己序列化对象并设置config
属性还是有其他方法?
答案 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。:几个月来,但我希望它可以帮助其他用户