我在 auth0 和 auth0-js
上使用托管登录页面模块来授权我的用户。
文档谈论 a config object并且页面本身清楚地显示了这样一个被反序列化的对象。
但是,文档并没有远程讨论应该如何将此对象传递给页面。事实上,文档 indicate an approach不能远程工作(没有设置配置参数)
我是否需要自己序列化对象并设置 config
属性(property)还是有其他方法?
最佳答案
我解决了这个问题:当您调用托管登录页面时,您必须在授权调用中传递参数。我做了一个示例,允许使用参数指定托管页面的语言。
脚本代码:
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.:晚了几个月,但我希望它可以帮助其他用户
关于auth0 - 如何使用 JS API 将配置选项传递给 Auth0 托管页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44929157/