SAP FIORI

SAP OData Service - 使用OAuth Auth

2017-12-04  本文已影响196人  46b61a5f089d

基础 - OAuth 验证流程 - 使用 Authorization code

image

流程很清楚,网络上也有很多相应的资源可以学习,作为一个 SAP 技术人员,对于安全方面也需要很多的了解,这样在以后向架构师方向发展会有极大的助力.

上面是一般的 OAuth 授权码访问流程,作用到 SAP ECC 以及 Gateway 领域,又是怎样的配置和应用呢?

说明: oAuth 更多的是授权,而用户验证(Authentication)往往使用Identity Provider(比如 Active Directory)来执行,也就是在获取授权码的时候,需要 idP 来验证用户的身份.

创建/注册 Odata Model

在前文中我有三篇文章介绍如何创建并且注册 Odata service, 如果不熟悉的朋友可以参考以下三篇文章:

在本文中,我们假设已经有现成的 Odata service 可以使用,并且可以在 Gateway Odata client 上面测试访问,如图:


image

Odata 在注册的时候必须支持 oAuth

配置Gateway Oauth

配置好之后界面如下:


image

取得 Authorization Code

完成以上的配置步骤,我们就可以开始测试了,首先是需要取得授权码,在浏览器中输入以下信息:
https://<sap Gateway 服务器>/sap/bc/webdynpro/sap/oauth2_authority?response_type=code&client_id=ZBOBTEST&redirect_uri=<重定向地址>&scope=ZPLANT_SRV_0001&state=anystate
浏览器进入授权界面,需要用户确认授权,如下:

image

浏览器返回 Authorization code, 并且回到重定向界面如下:


image

注意地址栏的 code 就是我们需要的授权码.

取得 access code

有了 authorization code, 打开 postman, 输入以下信息:


image

Authorization 需要输入 Client_id 的用户名和密码,也就是在 SOauth2中配置的用户名和密码.

image

Body 中需要输入刚才的到的授权码以及重定向地址,这个地址和 SOAUTH2中配置的地址必须一致.

执行之后,得到访问码(access code).


image

调用 Odata service

输入 Odata 地址,并且加上上面得到的 access code, 就可以访问 Odata service


image

结语

OAuth 的配置并没有那么复杂,我们之所以要这样做的最主要的原因是,在后续的移动应用开发中,可以非常简单的使用 OAuth 进行授权,特别是开发 Fiori for iOS 的应用,配置 oauth 会简单很多.

上一篇 下一篇

猜你喜欢

热点阅读