无默认App ID登录小部件的社交IBM App ID登录

问题描述 投票:0回答:2

我需要使用IBM App ID服务从客户自己的前端应用程序使用google / facebook实现登录。由IBM must never show提供的含义登录小部件。

前端是使用react js开发的,后端是单独的node-js服务器。我想出了如何绕过小部件进行云目录登录,但是我没有运气来进行社交登录。如果我只是复制默认IBM应用程序ID登录小部件提供的Google登录的表单代码(复制的代码如下)

<form
  action="https://accounts.google.com/o/oauth2/v2/auth"
  method="get"
  id="google_form"
  aria-label="google_form"
>
  <input
      type="hidden"
      name="client_id"
      value="526589484289-sth1s4he8en575sugh6rain3hh054p97.apps.googleusercontent.com"
      id="google_client_id"
  ></input>
  <input
      type="hidden"
      name="redirect_uri"
      value="https://eu-uk.appid.cloud.ibm.com/oauth/v4/DEFAULT-GOOGLE-TENANT-ID/Google/callback"
      id="google_redirect_uri"
  ></input>
  <input type="hidden" name="response_type" value="code"></input>
  <input
      type="hidden"
      name="scope"
      id="google_scope"
      value="email profile"
  ></input>
  <input
      type="hidden"
      name="state"
      value="woU6LcOCwrTDr8OXw63DnQNAwr5xdinCtxcKJsKKYcKWX8OGw5zCoh0Fw4k"
      id="google_state"
  ></input>
  <button
      type="submit"

      id="google_login"
  >
      <div>Login with Google</div>
  </button>
</form>

有时我得到以下信息(它工作了几次,但由于某种原因重定向被重定向到后端“ /”路由)

{
"error_code": "GENERAL_ERROR",
"error_description": "key not found"
}

问题是如何使用自定义UI进行社交登录,以及必须发送到护照以登录,获取令牌和用户数据的内容。以及如何将这些数据重定向到前端服务器。 (前端在单独的服务器上,与后端的通信是REST,因此必须随每个请求发送令牌)

我已经在这个问题上停留了几天,没有任何运气,所以将不胜感激。我很欣赏代码示例,该示例显示了如何使用IBM App ID从自定义前端使用Google或Facebook登录到Nodejs后端,但是完全没有帮助。

提前谢谢您

javascript ibm-cloud google-login app-id ibm-appid
2个回答
0
投票

如果您在应用程序ID中禁用了所有其他身份提供者,那么您应该直接转发到Google身份验证。这样就不会显示App ID的登录小部件。


0
投票

[如果您希望在不显示窗口小部件的情况下登录FB,Google和Cloud Directory,则将需要3个不同的App ID实例。每个配置为只有一个身份提供者。

© www.soinside.com 2019 - 2024. All rights reserved.