我正在使用auth0上的托管登录页面和auth0-js模块来授权我的用户.
文档讨论配置对象,页面本身清楚地显示了这样一个被反序列化的对象.
但是,文档并没有远程讨论如何将此对象传递给页面.实际上,文档表明一种不能远程工作的方法(没有设置配置参数)
我是否需要自己序列化对象并设置config属性或是否有其他方法?
小智 7
我解决了这个问题:当您调用托管登录页面时,您必须在授权调用中传递参数.我做了一个示例,允许使用参数指定托管页面的语言.
脚本代码:
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);
Run Code Online (Sandbox Code Playgroud)
托管页面代码:
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();
Run Code Online (Sandbox Code Playgroud)
因此,您可以使用config.extraParams变量访问您在授权调用中指定的任何参数
PD:几个月后,但我希望它可以帮助其他用户
| 归档时间: |
|
| 查看次数: |
1635 次 |
| 最近记录: |