【发布时间】:2017-08-22 17:44:16
【问题描述】:
我可以使用 Get access without user 从 Microsoft Graph 访问资源。但是,此方法不允许我访问需要委派权限的资源。
我也尝试使用Get access on behalf of a user 方法,但它需要我的用户通过网页登录,这在我的场景中不需要。
是否可以生成一个具有较长生命周期(可能超过一年)的授权码,并使用该代码请求一个访问令牌,然后该令牌可用于获取需要委派权限的资源?强>
注意:我知道生成一个生命周期如此长的授权代码不是一个好主意,但是这个代码将被后端程序用来访问资源而不是用户。所以我不希望用户登录页面弹出。希望在 Java 中实现这一点。
谢谢!
【问题讨论】:
-
你的目标是什么?您是否可以让用户使用网页登录一次,只要他们不需要再次登录一年?
-
最好不要,但如果没有其他选择,那我也可以接受。
-
您将得到与在您也打开的this 线程中所做的相同的答案。这里的解决方案是,如果您想跳过登录页面,请使用“资源所有者密码凭据流程”,否则,如果您正常获取第一个令牌,则可以使用Refresh Tokens。这里没有人会为您编写资源所有者密码凭证流程的 Python 示例。你需要自己做。
-
@ShawnTabrizi 我不是在找人为我写代码。我只是在寻找方向。感谢您的意见。
标签: java azure-active-directory microsoft-graph-api azure-authentication