我试图通过Azure身份验证登录到我的Web应用程序。我试了几种方法,但不能让它工作。
这个简单的命令:
cy.visit(myPage);
cy.origin(
azureAdPage,
{ args: { username: currentUsername, password: currentPassword } },
({ username, password }) => {
cy.get('input[type="email"]').should('be.visible').type(username);
cy.get('input[type="submit"]').should('be.visible').click();
cy.get('input[type="password"]').should('be.visible').type(password);
cy.get('input[type="submit"]').should('be.visible').click();
cy.get('#idBtn_Back').should('be.visible').click();
},
);
结果是:
AADSTS9002327:为“单页应用”客户端类型发行的令牌只能通过跨源请求兑换。
对于:https://login.microsoftonline.com/{tenantId}/oauth2/v2.0/token
我也试图在进入网站之前获得令牌并将其存储在localStorage中,但它没有工作。(响应中的令牌有效,我在Postman中检查过)
也尝试了this的方法,但再次im没有授权时,进入我的网站。
我没有办法了,所以我很感激任何帮助。我运行在最新的赛普拉斯版本(12.14.0)与此用户手动登录工作正常,这只发生在赛普拉斯测试。
1条答案
按热度按时间62lalag41#
在我的例子中,我不得不将chromeWebSecurity设置为true。