【问题标题】:API Platform with external OpenID provider具有外部 OpenID 提供程序的 API 平台
【发布时间】:2019-12-08 20:22:44
【问题描述】:

我正在处理一个项目,其中我有一个使用 React 构建的前端,它连接到一个使用 API 平台构建的 API,并使用实现 oauth2 和 OpenID 协议 (Keycloak) 的外部用户提供程序。

我认为我可以将 API 平台配置为 oauth2 客户端(通过 oauth 配置部分,但我不确定它是 oauth 客户端还是服务器),但我还需要从 OpenID 获取用户信息服务器来存储有关创建实体的用户(所有者)的信息。

有没有办法做到这一点?还是不使用 API 平台,自己实现连接 OpenID 服务器的 API 更好?

提前致谢!

【问题讨论】:

  • 您找到解决方案了吗?我也有同样的问题;)
  • 不,我只是没有使用API​​平台

标签: php symfony single-sign-on openid api-platform.com


【解决方案1】:

是的,在这种情况下,建议 API 平台充当外部 oauth 2.0/OpenId 提供者的 Oauth 2.0 客户端,此外它还提供了将 clientId、clientSecret 和其他配置存储在 API 平台本身而不是存储的好处在反应前端。您还可以在 API 平台上存储与登录的 userId 相对应的令牌、到期、刷新令牌、其他范围,并在需要时将其传递给响应前端。 为了通过 openId 连接获取用户信息,API 调用将通过 API 平台代理到外部 OpenId 提供者,即 keycloak。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-08-26
    • 2013-06-11
    • 2017-12-12
    • 2015-03-27
    • 2019-06-12
    • 2012-09-03
    • 1970-01-01
    • 2014-02-18
    相关资源
    最近更新 更多