云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

CDN_查询企业网站_超低折扣

小七 141 0

这是第二部分的延续(https://blogs.sap.com/2017/07/14/implement-facebook-login-on-sap-api-management-part-2/)

在资源所有者(即Facebook用户)登录并批准/拒绝请求的授权后,此代理将成为Facebook重定向的目标。在成功的情况下(我们将要实现的唯一情况),重定向将包含授权代码和以前为其分配的值州。这些两个值将作为获取令牌并将其内部化的基本输入(将其转换为API管理令牌)。

为此,我们打开API门户。在开发屏幕中,我们创建一个新的API代理。API代理应获得以下参数:

现在按"另存为草稿"。然后转到"高级属性"并将路由规则更改为指向"无"。这将创建一个环回broxy.

现在转到策略。在策略中,我们检查API密钥作为代理终结点预流的第一步:

这将检查状态参数是否是有效的API密钥。在我们的示例中,这是我们使用的唯一客户端身份验证。根据OAuth规范,这是不够的(但这只是为了演示的目的),因此在生产流程中更改它。

之后,淘客公众号,我们可以将facebook授权代码交换为令牌。这将通过服务调用来完成:

这里需要第1部分的所有三个值:

现在需要处理facebook响应。这是在提取变量策略中完成的:

之后,个人网站建站,软件企业管理,我们使用facebook令牌执行另一个服务调用。此调出将检索有关已登录用户的信息。稍后,我们将此信息作为令牌属性持久化。每当验证访问令牌时,属性值就会被注入到流中,因此可以用来管理用户上下文:

为了访问登录用户的值,Graph API提供了"me"资源。这是一个非常方便的皮草电话这样。先前获得的令牌将在授权报头中传输。请求的属性在"fields"查询参数中进行管理。

再次使用Extract Variables策略提取响应数据:

通过此策略,我们现在获得了facebook令牌,并使用它检索有关登录用户的元信息。现在我们需要将facebook令牌转换为sapapi管理令牌,该令牌可以在任何其他API代理中进行验证。这是使用分配消息策略完成的。

首先我们设置变量"oauth\u external\u authorization\u status"。这需要告诉后续的OAuth策略,淘客放单平台,它不能负责对客户机进行身份验证。请记住,我们在第一个Verify API Key策略中就做到了这一点(尽管在生产环境中这是不够的,但对于我们的演示来说这已经足够了)。此外,我们将授权类型和客户机id(API密钥)写入oauth2策略所期望的默认位置。现在是OAuth政策。此策略将"内部化"facebook令牌并将获取的信息作为属性持久化:

现在您的API代理(代理端点预流)应如下所示:

现在您可以再次调用:

https://:443/v1/login/facebook/oauth?apikey=

如果一切设置正确,您将被重定向到新创建的代理,该代理将使用以下JSON进行响应:

通过此操作,轻淘客旗舰版,您将正式登录。返回的令牌现在可以用于对facebook的Grahp API的本机调用以及对API管理的调用:

这里有几点支持为什么我认为这还不是生产级别:

尽管如此,我还是希望复制它很有趣,并提供一些关于如何处理外部令牌的见解。