由于连接不安全,Okta 未重定向
Posted
技术标签:
【中文标题】由于连接不安全,Okta 未重定向【英文标题】:Okta Not Redirecting due to insecure connection 【发布时间】:2021-07-12 13:48:57 【问题描述】:我从合作伙伴网站收到了与他们建立 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
【参考方案1】:
最快最简单的解决方案如下:
"serve": "vue-cli-service serve --https true"
然后,当它警告您连接不安全并且您已准备好在本地主机上使用 https
时说“好的”!
如本回答所示:https://***.com/a/64149923/8816585
【讨论】:
Access to fetch at 'https://theirURL/.well-known/jwks.json' from origin 'https://localhost:8080' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.
我仍然收到此错误。
这是一个完全不同的问题。 CORS 是一项需要在后端(我猜这里是 okta 仪表板)完成的安全工作,以将您的 localhost 列入白名单(并允许您的客户端代码对其服务执行操作)。快速搜索可能会给你很多结果!
您认为是合作伙伴网站的设置导致了问题吗?我应该要求他们将 localhost CORS 列入白名单吗?
是的,没错。另外,一定要给他们端口(@987654325@),因为localhost
通常不足以提供这种服务。以上是关于由于连接不安全,Okta 未重定向的主要内容,如果未能解决你的问题,请参考以下文章