使用JAVA/J2ee应用程序中的SharePoint2013 rest web服务进行基于SAML令牌的身份验证
我有一个使用SP web服务的java/j2ee web应用程序,但最近SP站点被迁移到2013年,并部署在cloud/office 0365中,因此身份验证被破坏。SP人员建议将身份验证机制更改为基于SAML令牌的身份验证,并使用Microsoft Azure AD。因此,我将我的应用程序加载到Azure中,并收到客户端ID,我可以使用该ID生成安全令牌(使用adal4j java api)。现在,我需要完成以下2个步骤来完成office 0365中的身份验证过程,以访问SP 2013 web服务
- 获取访问令牌cookies
- 获取请求摘要令牌
但无法找到上述两个步骤的任何基于java的API。参考以下教程,但它与aps/有关。网
http://paulryan.com.au/2014/spo-remote-authentication-rest/
请帮助我提供相同的示例代码库
感谢您的支持
# 1 楼答案
根据我的经验,我认为您可以尝试一步一步地直接按照引用的article来使用Apache HttpClient构造请求
例如,下面的代码使用
HttpClient
对xml主体执行post请求以获取安全令牌您可以尝试按照上面的代码,通过对url
https://yourdomain.sharepoint.com/_forms/default.aspx?wa=wsignin1.0
的安全令牌主体执行post请求来获取响应包含访问令牌,并使用代码Header[] hs = response.getHeaders("Set-Cookie");
获取Set-Cookie
头数组作为访问令牌然后使用它们设置两个头
Cookie
以获取请求摘要令牌,并解析响应体以提取FormDigestValue
作为请求摘要令牌# 2 楼答案
所以你用了Microsoft Azure Active Directory Authentication Library (ADAL) for Java
在这种情况下,请看一下AAD Java samples
您需要使用Web API的应用程序