【发布时间】:2026-02-08 00:15:01
【问题描述】:
我从合作伙伴网站收到了与他们建立 SSO 的请求,他们向我们提供了他们的 OKTA 密钥。
Vue.use(Auth, {
issuer: 'https://{theirURL}.com/',
clientId: '{theirCliendId}',
redirectUri: 'http://localhost:8080/auth/callback',
scope: 'openid profile email'
})
let token = {};
const handleAuth = cb => {
webAuth.parseHash((error, authResult) => {
if (authResult && authResult.accessToken && authResult.idToken) {
token.accessToken = authResult.accessToken;
token.idToken = authResult.idToken;
token.expiry = new Date().getTime() + authResult.expiresIn * 100000000;
cb();
} else {
console.log(error);
}
});
};
const isLogged = () => {
console.log("heyt", token)
return token.accessToken && new Date().getTime() < token.expiry;
};
const login = () => {
webAuth.authorize();
};
const logUserOut = () => {
token = {};
};
以上是我用于设置的代码,我能够从我的网站访问他们的登录页面,并且能够登录。
但是,当它重定向到我这边(本地主机)时,它给了我如下错误
此站点无法提供安全连接
我做错了什么?在本地主机上测试是不可能的吗?他们在开发时一定是在 localhost 上进行测试的。
请告诉我该怎么做!! 提前致谢!
编辑:
从源访问“https://{theirURL}”获取 'http://localhost:8080' 已被 CORS 策略阻止:否 请求中存在“Access-Control-Allow-Origin”标头 资源。如果不透明的响应满足您的需求,请设置请求的 模式为“no-cors”以获取禁用 CORS 的资源。
此消息在登录并尝试重定向回我的页面后显示在控制台上。
【问题讨论】:
-
您用来启动开发服务器的命令是什么?
-
@kissu npm run serve
-
尝试将
/oauth2/default添加到发行者。 -
@MattRaible 他们的授权网址是 /oauth/authorize。我能够进入登录阶段
-
我正在讨论发行者,而不是授权端点。 Okta 有两种授权服务器。 org Auth 服务器无法在 Okta 之外验证 JWT。 developer.okta.com/docs/reference/api/authorization-servers
标签: vue.js security single-sign-on openid okta