使用Azure AD和SAP Netweaver的SSO

2020-08-20 01:53发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


你好

我们有一个场景,用户希望使用Azure AD进行身份验证并通过SAP CRM(Netweaver 7.5)中的SAP网关访问OData服务。 当前,我们有一个工作流程,其中的流程是:

1)用户对Azure AD中的应用程序注册进行身份验证并获得JWT令牌

2)我们的Web应用程序(服务器端)使用Azure企业应用程序将此JWT交换为SAML

3)设置CRM,以信任从步骤2开始的企业应用程序,并且Web应用程序(服务器端)调用CRM来获取访问令牌

4)访问令牌作为Odata调用中的身份验证承载发送给CRM

这对我们有用,但是我对其他可用的OAuth流程(授权代码而不是SAML2)感到好奇,因为这会使我们的SAP SSO与我们现有的身份验证流程更加一致。 但是,当我从邮递员那里尝试时,会收到不同的错误消息,而我却找不到真正应该使用的端点

这是我目前正在尝试从Azure获取我的访问令牌

然后我尝试从SAP获得支持,但是失败。

 POST/sap/bc/sec/oauth2/token?code = &grant_type = authorization_code&redirect_uri = 

 {" error":" invalid_grant"," error_description":"授权代码的长度无效。"  }
 

由于SAML2流正常工作,我非常确定信任关系已正确设置,但是我不确定要使用哪些端点和参数

这是Oauth设置

感谢所有提示

oauthsetup.jpg (33.3 kB)

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


你好

我们有一个场景,用户希望使用Azure AD进行身份验证并通过SAP CRM(Netweaver 7.5)中的SAP网关访问OData服务。 当前,我们有一个工作流程,其中的流程是:

1)用户对Azure AD中的应用程序注册进行身份验证并获得JWT令牌

2)我们的Web应用程序(服务器端)使用Azure企业应用程序将此JWT交换为SAML

3)设置CRM,以信任从步骤2开始的企业应用程序,并且Web应用程序(服务器端)调用CRM来获取访问令牌

4)访问令牌作为Odata调用中的身份验证承载发送给CRM

这对我们有用,但是我对其他可用的OAuth流程(授权代码而不是SAML2)感到好奇,因为这会使我们的SAP SSO与我们现有的身份验证流程更加一致。 但是,当我从邮递员那里尝试时,会收到不同的错误消息,而我却找不到真正应该使用的端点

这是我目前正在尝试从Azure获取我的访问令牌

然后我尝试从SAP获得支持,但是失败。

 POST/sap/bc/sec/oauth2/token?code = &grant_type = authorization_code&redirect_uri = 

 {" error":" invalid_grant"," error_description":"授权代码的长度无效。"  }
 

由于SAML2流正常工作,我非常确定信任关系已正确设置,但是我不确定要使用哪些端点和参数

这是Oauth设置

感谢所有提示

oauthsetup.jpg (33.3 kB)
付费偷看设置
发送
4条回答
ZJXianG
1楼 · 2020-08-20 02:37.采纳回答

最后,我们最终得到了一个服务,该服务创建了自己的SAML声明并使用Netwear信任的证书对其进行了签名。

Cikesha
2楼-- · 2020-08-20 02:44

我们通过发布到 这个网址

https://login.microsoftonline.com/ id>/oauth2/token

具有以下正文作为表单数据

 grant_type:urn:ietf:params:oauth:grant-type:jwt-bearer
 断言:
 client_id:
 client_secret:<客户端机密>
 资源:<本地提供者名称>
 request_token_use:on_behalf_of
 request_token_type:urn:ietf:params:oauth:token-type:saml2 

不过,您可以使用下面的Nodejs服务生成SAML,采用我们最终完成的路线,并使用SAP API管理

Nir深蓝
3楼-- · 2020-08-20 02:31

大家好,


我整天都在用类似的场景拔头发。 我们有一个使用Azure AD进行身份验证的Web应用程序,它将使用Sap Gateway中的oData。 我正在尝试寻找一种方法来用JWT交换SAML令牌,但到目前为止还没有运气。

请有人阐明如何实现这一目标吗?

任何帮助将不胜感激!

此致

克里斯蒂亚诺

梦想连接
4楼-- · 2020-08-20 02:24

你好,

我已经按照本指南进行了设置。

https://docs。 microsoft.com/en-us/azure/active-directory/saas-apps/sap-netweaver-tutorial

我已经通过测试,并且SSO正在运行,但是我不了解SAP Netweaver for OAuth的部分。 我已经在SAP Gateway和OAuth 2.0客户端中配置了OData服务。 下一步要测试什么? 如何调用Azure AAD以获取SAP NW可以使用的SAML声明,以及如何使用该声明调用SAP NW交换访问令牌? 是否可以列出带有已调用参数的端点?

在以上注释中,从Azure收到了JWT令牌。 在Azure中调用并获取此令牌的终结点是什么?

根据指南,企业应用程序中的答复URL应为" [SAP NW服务器名称]/sap/saml2/sp/acs/[客户端编号]",但对于OAuth,答复URL应为" [SAP NW服务器名称]/sap/bc/sec/oauth2/token?sap-client = [客户端编号]"。 该如何解决?

对不起,我有这么多问题。

多米尼克

一周热门 更多>