2020-08-27 12:03发布
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
您好,
我需要获取时间戳,并使用SHA-256哈希用户名$ SearTb,然后将哈希用户名与时间戳(用":"分隔)连接起来,并将所有结果哈希到SHA-256,然后我们需要将其作为基本身份验证进行传递 在标题中。
此致
Sandya
由于CPI当前使用Groovy版本2.4.12,因此我们不能使用。sha256()函数,可从Groovy 2.5中获得。 因此,我们必须使用一些"经典"函数。
导入java.security.MessageDigest 导入java.nio.charset.StandardCharsets def用户名=" \ $ SearTb" def timestampNow = new Date()。getTime() //转换为SHA256 MessageDigest摘要= MessageDigest.getInstance(" SHA-256") 字节[]编码的哈希=摘要。摘要(username.getBytes(StandardCharsets.UTF_8)) StringBuffer hexString =新的StringBuffer(); for(int i = 0; i 您可以在此处查看正在运行的演示: https://bit.ly/2OpxEAd 要将其设置为基本身份验证标头,只需调用消息函数: message.setHeader(" Authorization"," Basic $ {authTokenFinal}") 最后一点:您确定应该再次通过SHA256对结合了时间戳的编码用户名进行编码? 基本身份验证通常使用Base64来对身份验证字符串("用户名:密码")进行编码。 此致, Raffael
您可以在此处查看正在运行的演示: https://bit.ly/2OpxEAd
要将其设置为基本身份验证标头,只需调用消息函数:
message.setHeader(" Authorization"," Basic $ {authTokenFinal}")
最后一点:您确定应该再次通过SHA256对结合了时间戳的编码用户名进行编码? 基本身份验证通常使用Base64来对身份验证字符串("用户名:密码")进行编码。
此致, Raffael
嗨,
您要接收哪个输出? 如果要查看计算出的身份验证字符串,则可能应该调用message.setBody而不是message.setHeader。 如果您要使用计算出的身份验证标头表示要调用的服务的输出,那么我无能为力,因为我不知道您的集成案例或您构建的整个Iflow ...
嗨,拉斐尔·赫尔曼,
Am使用上面的代码作为哈希的用户名,但是我们需要传递一些用于密码的虚拟值以进行授权,所以您能帮助我我该如何添加它以及我现在需要在哪里添加它 出现401错误。
此致, Sandya
该问题将被关闭,因为原始问题已得到正确回答。 如有任何后续问题,请在这里提出一个新问题: https://answers.sap.com/ questions/ask.html
谢谢。
你好桑迪亚,
这听起来很奇怪。 您是否尝试在工件设置中启用"跟踪"模式? 在"跟踪"模式下运行消息流后,切换到"跟踪"视图。 在那里您应该能够看到所有标题。
致谢
最多设置5个标签!
由于CPI当前使用Groovy版本2.4.12,因此我们不能使用。sha256()函数,可从Groovy 2.5中获得。 因此,我们必须使用一些"经典"函数。
嗨,
您要接收哪个输出? 如果要查看计算出的身份验证字符串,则可能应该调用message.setBody而不是message.setHeader。 如果您要使用计算出的身份验证标头表示要调用的服务的输出,那么我无能为力,因为我不知道您的集成案例或您构建的整个Iflow ...
嗨,拉斐尔·赫尔曼,
Am使用上面的代码作为哈希的用户名,但是我们需要传递一些用于密码的虚拟值以进行授权,所以您能帮助我我该如何添加它以及我现在需要在哪里添加它 出现401错误。
此致,
Sandya
该问题将被关闭,因为原始问题已得到正确回答。 如有任何后续问题,请在这里提出一个新问题: https://answers.sap.com/ questions/ask.html
谢谢。
你好桑迪亚,
这听起来很奇怪。 您是否尝试在工件设置中启用"跟踪"模式? 在"跟踪"模式下运行消息流后,切换到"跟踪"视图。 在那里您应该能够看到所有标题。
致谢
一周热门 更多>