目前,我有一个运行的应用程序与一堆客户和自定义servlet API .
为了有可能将我的应用程序与我的合作伙伴的应用程序集成,我需要实现REST API和OAuth 2.0流程 . 我正准备在我的环境中集成WSO2 API管理器以满足这些需求 .
期望的流量在图片上 - api flow
并口头说:
-
用户已在我的APP中注册
-
用户在合作伙伴的APP上注册
-
为了使用我的应用程序的服务,用户需要在我的应用程序上授权自己(使用oauth 2.0授权代码流)来自合作伙伴应用程序
-
合作伙伴应用可以借助用户访问令牌通过REST界面与我的应用进行交互 .
是否有可能只在WSO2 API Manager端(我的合作伙伴应用程序)注册一个消费者,并仅向我的合作伙伴提供客户机密码和密码,但不向每个用户提供?
目前,我有一个注册用户提供测试 . 每次当我为这个测试消费者发出授权代码请求时,我都会收到相同的代码 .
从这种行为来看,我理解需要在API管理器端为每个最终用户发布客户机密,而不仅仅是合作伙伴App . 实现 .
1 回答
对于Oauth 2.0授权代码流,需要为合作伙伴仅提供一个client_id和客户端密钥 .
为了在WSO2 API管理器端授权最终用户并为最终用户提供唯一的access_token,WSO2 API管理器应该可以访问数据库的User表 . 在User表中存储了最终用户的login / encrypted_password值 .