Java Microsoft图形身份验证-委派权限

Java Microsoft图形身份验证-委派权限,java,azure-active-directory,microsoft-graph-api,azure-authentication,Java,Azure Active Directory,Microsoft Graph Api,Azure Authentication,我可以使用从Microsoft Graph访问资源。但是,此方法不允许我访问需要委派权限的资源 我也尝试过使用该方法,但它需要我的用户通过网页登录,这在我的场景中是不需要的 是否可以生成一个使用寿命长(可能超过一年)的授权代码,并使用该代码请求访问令牌,然后使用该令牌获取需要委托权限的资源? 注意:我知道生成具有如此长生命周期的授权代码不是一个好主意,但此代码将被后端程序用于访问资源,而不是用户。因此,我不希望用户登录页面弹出。希望在Java中实现这一点 谢谢 为了使用委托权限,最终用户需要通过

我可以使用从Microsoft Graph访问资源。但是,此方法不允许我访问需要委派权限的资源

我也尝试过使用该方法,但它需要我的用户通过网页登录,这在我的场景中是不需要的

是否可以生成一个使用寿命长(可能超过一年)的授权代码,并使用该代码请求访问令牌,然后使用该令牌获取需要委托权限的资源?

注意:我知道生成具有如此长生命周期的授权代码不是一个好主意,但此代码将被后端程序用于访问资源,而不是用户。因此,我不希望用户登录页面弹出。希望在Java中实现这一点


谢谢

为了使用委托权限,最终用户需要通过OAuth2.0流以交互方式登录

现在,您可以使用一个用户的信誉,只需将用户名/密码发布到Azure AD并取回令牌即可。不建议使用此路径,因为它很脆弱(例如,MFA将不起作用),并且需要应用程序管理用户的凭据

您的最佳选择是为您的用户创建某种登录体验,允许他们登录并同意您的应用程序。Azure广告中的刷新令牌意味着它们可以持续一年甚至更长时间。您将遇到的瓶颈是最终用户的密码即将过期,这将导致他们需要再次登录


对于这方面的一些帮助,Azure广告提供了一个您可以使用的工具。我还为使用第三方库的Azure AD v2.0端点(Microsoft帐户+Azure AD帐户)编写了一个小型应用程序

你在这里的目标是什么?只要用户在接下来的一年内不需要再次登录网页,您是否可以接受用户登录一次网页?理想情况下不可以,但如果没有其他选择,那么我也可以接受。您将得到与您在同样打开的线程中相同的答案。如果要跳过登录页面,这里的解决方案是使用“资源所有者密码凭据流”,否则,如果您正常获取第一个令牌,则可以使用。这里没有人会为您编写资源所有者密码凭据流的Python示例。你需要自己来做。@Shawntarizi我不是在找人帮我写代码。我只是在找方向。谢谢你的意见。这里有一些建议。