使用SAP Mobile Service帐户获取用户信息

2020-08-15 05:45发布

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

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


嗨,

当前,我正在通过上下文从SAPcpSession中使用SAPcpmsUserRoles来获取用户详细信息。

现在,我已将移动服务的安全性从SAML更改为证书,并且我想使用URLSession和JSONSerialization来获取用户数据,但由于现在不是从入门步骤开始进行身份验证,因此我对如何进行URLRequest感到非常困惑 在SAP Cloud Platform中,但来自JamfKeyChainUtilities框架。

有人可以帮我吗? 或者,还有其他方法可以获取登录用户的详细信息,例如姓名和电子邮件吗?

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

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


嗨,

当前,我正在通过上下文从SAPcpSession中使用SAPcpmsUserRoles来获取用户详细信息。

现在,我已将移动服务的安全性从SAML更改为证书,并且我想使用URLSession和JSONSerialization来获取用户数据,但由于现在不是从入门步骤开始进行身份验证,因此我对如何进行URLRequest感到非常困惑 在SAP Cloud Platform中,但来自JamfKeyChainUtilities框架。

有人可以帮我吗? 或者,还有其他方法可以获取登录用户的详细信息,例如姓名和电子邮件吗?

付费偷看设置
发送
2条回答
落灬小鱼
1楼-- · 2020-08-15 06:20

对于客户端证书处理,应该实现SAPURLSessionDelegate并将其分配给SAPURLSession实例。 看起来应该与对URLSessionDelegate/URLSession进行的操作非常相似,您会在Stack Overflow上看到相关信息。

在委托中,实现didReceive(challenge)。 在不知道JamfKeychainUtilities细节的情况下,我希望您检索证书的sec身份,并将其传递给委托人的完成处理程序。

请参阅此页面"身份验证"部分中的文档: https://help.sap.com/doc/978e4f6c968c4cc5a30f9d324aa4b1d7/Latest/zh-CN/Documents/Frameworks/SAPFoundation/Networking.html

软件心理学工程师
2楼-- · 2020-08-15 06:29

我尝试使用来自keychainManager.shared.getCredentials()的URLCredentials

这是我的函数:


func fetchDetails(){

let urlString =" https://hcpms-xxxtrial.cert.hanatrial .ondemand.com "

let settingsParameters = SAPcpmsSettingsParameters(backendURL:URL(string:urlString)!, applicationID:" com.sap.latency")

让sapSession = SAPURLSession(委托:self)

让urlSession:SAPURLSession = sapSession

让applicationID:字符串=" com.sap.latency"

让deviceID:字符串? = UIDevice.current.identifierForVendor?.uuidString

让applicationVersion:字符串? =" 7.0.1"

让观察者= SAPcpmsObserver(应用程序ID:应用程序ID,设备ID:设备ID,应用程序版本:应用程序版本)

urlSession.register(观察者)

let userRoles = SAPcpmsUserRoles(sapURLSession:urlSession,settingsParameters:settingsParameters)

userRoles.load {(userInfo,错误)在

print(userInfo?.givenName ??"")

}

}

func sapURLSession(_会话:SAPURLSession,任务:SAPURLSessionTask,didReceive挑战:URLAuthenticationChallenge,complementHandler:@转义(SAPURLSession.AuthChallengeDisposition)->无效){

myCredential = KeychainManager.sharedInstance.getCredentials()!

completionHandler(SAPURLSession.AuthChallengeDisposition.use(myCredential!))

}

以下是我得到的错误:

originalRequest URL( https://hcpms-xxxtrial.cert.hanatrial.ondemand.com/mobileservices/application/com.sap.latency/roleservice/application/com.sap.latency/v2/我)currentRequest URL( https://hcpms-xxxtrial.cert.hanatrial.ondemand.com/mobileservices/application/com.sap.latency/roleservice/application/com.sap .latency/v2/Me)Real URLSession didCompleteWithError:初始任务状态-枚举具有错误的观察者(错误:发生SSL错误,无法建立与服务器的安全连接。)

一周热门 更多>