我解決了神祕感:當您調用託管登錄頁面時,您必須在授權調用中傳遞參數。我做了一個示例,允許使用參數指定託管頁面的語言。
Script代碼:
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('@@[email protected]@'))));
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變量
PD:月晚了,但我希望它可以幫助其他用戶
讓我們退後一步。你爲什麼想這樣做?你試圖解決什麼用例? – woloski
首先,傳入徽標的網址。如果我在自定義頁面中對其進行硬編碼,那麼我需要跟蹤它,我應該在將來更改徽標的位置或名稱,而不是將其作爲配置參數傳入。另外,配置允許我傳入字符串以包含在登錄頁面中 - 對於任何類型的模板頁面來說,這都是非常標準的用例。 – Dancrumb
等等......是來自別處的「@@ config @@」嗎?在'auth0-js'代碼中,我無法看到設置託管頁面中使用的屬性的任何內容...... – Dancrumb