我们有一个代理层,可将消息从某个渠道(例如facebook Messenger / twitter / sms / etc)传递到第三方全渠道联系中心平台。
使用OAuth2的授权代码授予类型保护平台API的安全。我们在平台空间内创建一个“应用程序”,并使用提供的客户端ID和密码来建立基本网页,并在身份验证提供程序重定向到此页面时使用一些Javascript来接收访问代码。
使用此代码,我们能够生成身份验证令牌,这些令牌将被馈送到我们的代理层。
依次,我们的代理为每个需要与平台进行交互的消息传递用户创建访问令牌。在后端层中可以正常工作。
我的问题是 1)生成初始代码的方法是完整的技巧 2)我们的代理是纯后端服务,无法与用户代理进行交互,即:Web浏览器;因此无法通过OAuth提供程序的重定向从浏览器接收代码。
我也花了一些时间阅读OAuth2规范和一些博客文章,据我所知,client_credentials是这种集成形式的正确授权类型。
但是,平台的开发团队坚持认为auth代码将对我们有用。
我很容易出错-但是我遇到的问题是,考虑到代理层是纯后端服务,我们应该如何为代理层创建初始令牌。
我在这里想念什么?
答案 0 :(得分:0)
客户凭证绝对正确。授权代码流应仅用于最终用户UI。
但是,可能是因为您正在与不支持正确选项的非标准体系结构接口-或者从政治上讲,您无法接受。
我的目标是赢得平台开发团队。-给他们买啤酒等
在最坏的情况下,您可以注册一个伪用户并编写一些基于HttpClient的后端代码,以通过读取302位置标头等来获取Auth代码流,并获取一个代码,然后标记。这将使登录自动进行,但是正如您所说的那样很麻烦。
我会尽最大努力避免出现这种情况-让我的利益相关者意识到我正在使用唯一的可用选项,并且将来可能会遇到可靠性问题