当前位置: 首页 > 知识库问答 >
问题:

OAuth2和OpenID API到API的通信

班宏毅
2023-03-14

我们有几个相互通信的微服务,所有这些微服务都使用Oauth2授权来允许访问其API。该流从UI开始,我们使用标准的'authorization_code'流,最后获得access_token,以调用特定的API-1服务(注册为client_id'123')。然后,UI向API-1(client_id123)发送一个请求,我们的API-1现在验证通过auth服务器传递的访问令牌。一旦它有效,这个API现在希望与另一个API(API-2)(我们的内部微服务)通信,后者需要一个access_token。我们不能重用同一个access_token,因为它是针对特定客户机的。API-1可以使用令牌交换与API-2对话,但API-1的开发人员不希望进行任何令牌交换。在这种情况下我们有什么选择?

共有1个答案

仲孙温文
2023-03-14

典型的解决方案是让API1使用其访问令牌联系您的令牌服务,并使用令牌交换标准交换它,以获得访问API2的新访问令牌。

有关详细信息,请参阅OAuth2.0令牌交换,并与令牌提供者联系。

 类似资料:
  • google oauth2 api简单封装,类似sina微博,目前仅仅支持用户信息获取。 配置google.config.properties ,然后去https://code.google.com/apis/console#access 申请client_id,client_secret 等即可使用,关于google oathor2 相关文档 https://developers.google.

  • 在我的应用程序中,我实现了AuthorizationServer和ResourceServer。我的系统中的每个用户都有一组他的角色(权限)。 我想用oauth2和基于用户角色的安全性来保护我的Spring MVC RESTendpoint。 而且 我希望使用具有的用户保护路径。但现在任何具有accessToken的人都可以访问此endpoint。我错在哪里?

  • 问题内容: 我得到的错误: 下面的代码,我正在使用: 直到这里,我得到了刷新令牌,访问令牌等 它在以下行失败:(不知道,为什么?) 我在网上搜索过,但很少看到它的示例和稀有资料。任何机构都有想法吗? 我究竟做错了什么? 问题答案: 我猜 credential.getRequestInitializer() 为空。 我已经通过将自定义请求初始化程序设置为凭证对象来解决了此问题 Google的文档规定

  • 我有一个需求,我需要创建/编写ConfigMap,这段代码将是kube-controller-manager的一部分。我使用“k8s.io/client-go/rest”来获得与API通信的客户端。 根据代码,InClusterConfig检查kubernetes服务环境变量,即“Kubernetes_Service_Host”“Kubernetes_Service_Port”。甚至它也会检查服务

  • 我正在使用Spring Boot开发一个微服务架构。我们已经在Auth服务器中实现了OAuth2。 我的问题是--如果两个微服务想要通信,最好的方式应该是什么? 请建议我应该选择哪个选项,如果有更好的选择,请让我知道。 提前谢了。

  • 我的代码中很少有Spring REST API是用基本TLS保护的。但是,我正在尝试使用 OAuth2.0 Spring安全性保护我的 API(我之前没有这样做过)。我无法选择使用Facebook或Google OAuth API进行身份验证/授权部分,因此我创建了自己的API,它将作为REST API所在的应用程序的一部分托管。我按照此处的示例将以下配置设置作为 OAuth 的一部分......