在 Auth0 中以编程方式进行身份验证
Programmatically authenticate in Auth0
我正在设置 cypress.io 来测试 React 应用。我正在尝试以编程方式使用 Auth0 Lock 进行身份验证,因此我不必测试它们的 UI。以下是步骤:
POST 到 https://[auth0-domain].com/usernamepassword/login
client_id: "",
client_secret: "",
audience: "audience",
redirectUri: "http://[auth0-domain].com:8383/callback",
scope: "openid email crud:all",
protocol: "oauth2",
sso: true,
username: "",
password: "",
connection: "conn",
tenant: "tenant",
popup: false,
收集返回的表单数据
POST 到 https://[auth0-domain].com/login/callback
wa=wsignin1.0&wresult=token&wctx=metastuff
第一步有效,但在第三步中我可以 post 到 login/callback,但我得到一个 HTML 页面,其中包含以下错误消息:
Looks like something went wrong! There could be a misconfiguration in the system or a service outage. We track these errors automatically, but if the problem persists feel free to <a href="https://auth0.com/support" target="_new">contact us</a> with this tracking id: <b>e88e08e43b7cdee78458</b>.<br/>Please try again.
我想知道 Auth0 是否有什么东西阻止我这样做,或者我是否没有发送正确的 data/header。
我最终使用了调用 auth0 回调的 auth0-js 模块。然后我使用 'should' 等待 localStorage 被设置:
import auth0 from 'auth0-js';
import url from 'url';
Cypress.Commands.add('login', () => {
const auth = new auth0.WebAuth({
audience: 'http://audience',
domain: 'domain.auth0.com',
clientID: 'qqqqqqqqqqqq',
redirectUri: 'http://localhost/callback',
responseType: 'token id_token',
scope: 'openid email profile name username groups roles',
sso: true
});
auth.login({username: 'username', password: 'pass'});
cy.window().its('localStorage.user_profile').should('exist')
});
我正在设置 cypress.io 来测试 React 应用。我正在尝试以编程方式使用 Auth0 Lock 进行身份验证,因此我不必测试它们的 UI。以下是步骤:
POST 到 https://[auth0-domain].com/usernamepassword/login
client_id: "", client_secret: "", audience: "audience", redirectUri: "http://[auth0-domain].com:8383/callback", scope: "openid email crud:all", protocol: "oauth2", sso: true, username: "", password: "", connection: "conn", tenant: "tenant", popup: false,
收集返回的表单数据
POST 到 https://[auth0-domain].com/login/callback
wa=wsignin1.0&wresult=token&wctx=metastuff
第一步有效,但在第三步中我可以 post 到 login/callback,但我得到一个 HTML 页面,其中包含以下错误消息:
Looks like something went wrong! There could be a misconfiguration in the system or a service outage. We track these errors automatically, but if the problem persists feel free to <a href="https://auth0.com/support" target="_new">contact us</a> with this tracking id: <b>e88e08e43b7cdee78458</b>.<br/>Please try again.
我想知道 Auth0 是否有什么东西阻止我这样做,或者我是否没有发送正确的 data/header。
我最终使用了调用 auth0 回调的 auth0-js 模块。然后我使用 'should' 等待 localStorage 被设置:
import auth0 from 'auth0-js';
import url from 'url';
Cypress.Commands.add('login', () => {
const auth = new auth0.WebAuth({
audience: 'http://audience',
domain: 'domain.auth0.com',
clientID: 'qqqqqqqqqqqq',
redirectUri: 'http://localhost/callback',
responseType: 'token id_token',
scope: 'openid email profile name username groups roles',
sso: true
});
auth.login({username: 'username', password: 'pass'});
cy.window().its('localStorage.user_profile').should('exist')
});