由于连接不安全,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 列入白名单吗? 是的,没错。另外,一定要给他们端口(@98​​7654325@),因为localhost通常不足以提供这种服务。

以上是关于由于连接不安全,Okta 未重定向的主要内容,如果未能解决你的问题,请参考以下文章

使用谷歌登录后,登录按钮未重定向到主页

PHP标头未重定向到感谢页面

验证后挂钩未重定向到表单页面

使用 IPN 方法的 Paypal 付款在付款后未重定向

Twitter 登录 - 已完成登录但未重定向到我的应用

成功登录后登录页面未重定向到主页