连接到 Azure AD 的 Auth0 没有返回我的状态参数
Auth0 connecting to Azure AD is not returning my state params
我正在使用 auth0 学习有关将多租户 saas 连接到 Azure AD 的教程:
https://auth0.com/docs/tutorials/building-multi-tenant-saas-applications-with-azure-active-directory
但是,由于我的情况有点不同,我需要它在用户登录时传递一些参数。对于其他连接,我可以设置 options.authParams.state = "..."并将此状态发送到我的 callbackURL。
但是,使用 Azure AD 连接时,我的状态变量不正确。收到回调是空的
我根据教程添加了新的 Azure AD 按钮:
lock.once('signup ready', function () {
var link = $('<div class="a0-zocial a0-icon a0-waad" href="#">'
+ '<span>Azure AD</span></div>');
link.on('click', function () {
lock.getClient().login({
connection: 'seedtec-onmicrosoft-com'
});
});
var iconList = $(this.$container).find('.a0-iconlist');
iconList.append(link);
});
并通过选项发送我的状态:
var options = {
container: 'root'
, callbackURL: 'http://.../LoginCallback.ashx'
, responseType: 'code'
, dict: 'pt'
, socialBigButtons: false
, authParams: {
state: state
, scope: 'openid profile'
, company_id: $scope.companyId
}
, mode: mode
, callbackOnLocationHash: true
};
lock.show(options);
你知道那有什么问题吗?
谢谢!
PS:我正在为 auth0 使用 angular 库。
我真的找到了解决办法。这很简单,但是 auth0 没有很好地记录它。
调用 lock.getClient().login(...)
时,我必须像这样再次传递 authparams:
lock.getClient().login({
connection: 'myconn-onmicrosoft-com'
, scope: 'openid profile'
, company_id: 'blah...'
, state: 'blah blah...'
});
我正在使用 auth0 学习有关将多租户 saas 连接到 Azure AD 的教程: https://auth0.com/docs/tutorials/building-multi-tenant-saas-applications-with-azure-active-directory
但是,由于我的情况有点不同,我需要它在用户登录时传递一些参数。对于其他连接,我可以设置 options.authParams.state = "..."并将此状态发送到我的 callbackURL。
但是,使用 Azure AD 连接时,我的状态变量不正确。收到回调是空的
我根据教程添加了新的 Azure AD 按钮:
lock.once('signup ready', function () {
var link = $('<div class="a0-zocial a0-icon a0-waad" href="#">'
+ '<span>Azure AD</span></div>');
link.on('click', function () {
lock.getClient().login({
connection: 'seedtec-onmicrosoft-com'
});
});
var iconList = $(this.$container).find('.a0-iconlist');
iconList.append(link);
});
并通过选项发送我的状态:
var options = {
container: 'root'
, callbackURL: 'http://.../LoginCallback.ashx'
, responseType: 'code'
, dict: 'pt'
, socialBigButtons: false
, authParams: {
state: state
, scope: 'openid profile'
, company_id: $scope.companyId
}
, mode: mode
, callbackOnLocationHash: true
};
lock.show(options);
你知道那有什么问题吗?
谢谢!
PS:我正在为 auth0 使用 angular 库。
我真的找到了解决办法。这很简单,但是 auth0 没有很好地记录它。
调用 lock.getClient().login(...)
时,我必须像这样再次传递 authparams:
lock.getClient().login({
connection: 'myconn-onmicrosoft-com'
, scope: 'openid profile'
, company_id: 'blah...'
, state: 'blah blah...'
});