microsoft graph api在没有用户登录的情况下获取令牌

b1payxdu  于 2021-07-06  发布在  Java
关注(0)|答案(1)|浏览(402)

我想使用java中的microsoft graph api访问我的onedrive文件。我测试过这个样本:https://docs.microsoft.com/en-us/graph/tutorials/java,并添加了一个“getfiles”部分来显示有关我的文件的信息。就目前而言,这是非常有效的。
但我希望每次运行示例时都避免用户登录。实际上,在代码的身份验证部分,一个devicecode被用来获取令牌,我被重定向到一个microsoft网页,在那里我登录并授权应用程序访问我的帐户。
我尝试用integratedwindowsauthenticationparameters替换devicecode(我从这里得到:https://github.com/azure-samples/ms-identity-java-desktop/blob/master/integrated-windows-auth-flow/src/main/java/integratedwindowsauthflow.java (第73行)使用我的作用域和电子邮件地址作为参数,但我得到以下错误:
“com.microsoft.aad.msal4j.msalserviceexception:元数据文档中找不到wstrust终结点”
编辑:integratedwindowsauthenticationparameters不适合我这样的个人帐户(xx@hotmail.com),是否有其他方法获取此类型帐户的令牌?
访问个人帐户是正确的解决方案吗?还是我在aad的应用程序配置中遗漏了什么?还有其他解决办法吗?
感谢您的帮助:)

kx5bkwkv

kx5bkwkv1#

使用全局租户管理员帐户 .onmicrosoft.com 帐户。
请验证并确保您已使用您注册的应用程序的正确帐户登录。

username = xxxx@xxxx.onmicrosoft.com


更新
集成windows身份验证(iwa)仅支持联合用户-在active directory中创建并由azure ad支持的用户。在没有active directory支持的情况下直接在azure ad中创建的用户(托管用户)不能使用此身份验证流。
请参阅本文件。

相关问题