问题描述
我从合作伙伴网站收到了与他们建立 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 的情况下获取资源。
解决方法
最快捷、最简单的解决方案如下:
"serve": "vue-cli-service serve --https true"
然后,当它警告您连接不安全并且您已准备好在本地主机上使用 https
时,只需说“好的”!