Single sign on 如何从RP终止OneLogin会话?

Single sign on 如何从RP终止OneLogin会话?,single-sign-on,aws-amplify,serverless,onelogin,Single Sign On,Aws Amplify,Serverless,Onelogin,我有一个React SPA,我最初使用Cognito对用户进行身份验证,以访问安全的Lambda微服务。现在我必须将SSO与基于SAML的后台垂直应用程序集成 我为垂直应用程序的OneLogin添加了连接器,为Cognito添加了OneLogin作为Idp,为我的SPA添加了OIDC连接器,并将SPA更改为使用OneLogin而不是Cognito进行身份验证。SSO工作正常,但我的用户无法注销。当他们退出SPA或垂直应用程序并返回时,会再次登录。如果他们导航到垂直应用程序,他们也会在那里登录。P

我有一个React SPA,我最初使用Cognito对用户进行身份验证,以访问安全的Lambda微服务。现在我必须将SSO与基于SAML的后台垂直应用程序集成

我为垂直应用程序的OneLogin添加了连接器,为Cognito添加了OneLogin作为Idp,为我的SPA添加了OIDC连接器,并将SPA更改为使用OneLogin而不是Cognito进行身份验证。SSO工作正常,但我的用户无法注销。当他们退出SPA或垂直应用程序并返回时,会再次登录。如果他们导航到垂直应用程序,他们也会在那里登录。Postman告诉我,我仍然可以访问AWS网关端点

据OneLogin的开发者KB称[https://developers.onelogin.com/api-docs/1/users/log-user-out],没有可用的注销端点或函数,但我可以使用v1api。这些文件太过时了,我不知道我是否能相信它们

从今年11月开始[https://github.com/onelogin/onelogin-oidc-node/issues/8]说注销功能将在2021年第一季度提供,但我找不到任何关于新功能的文档

我尝试按照建议使用v1 API注销,但收到一个CORS错误:

Access to fetch at 'https://api.us.onelogin.com/api/1/users/***/logout' from origin 'http://localhost:3000' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: 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.
VM95:1 PUT https://api.us.onelogin.com/api/1/users/***/logout net::ERR_FAILED
失败代码:

  const putOptions = {
    method: 'PUT',
    headers: { 
      'Authorization' : 'bearer:' + token,
      'mode' : 'no-cors'
    }
  };
  const response = await fetch(`https://api.us.onelogin.com/api/1/users/${userid}/logout`, putOptions);
如果我理解正确,我想我必须在调用API之前首先使用客户机密码和客户机id建立API“会话”。这是一个只使用微服务的无服务器应用程序。我不能在JS中嵌入秘密和id


如何在没有服务器的情况下,在RP的所有三个连接器上终止OneLogin会话,并且不泄露客户端id和客户端机密?

我知道我考虑过了。我在找到v2注销终结点[https://developers.onelogin.com/openid-connect/api/logout]