【问题标题】:Java - OAuth 2.0 obtaining the access tokenJava - OAuth 2.0 获取访问令牌
【发布时间】:2020-10-17 23:42:29
【问题描述】:

我正在编写一个简单的桌面应用程序,有时需要将压缩存档上传到 OneDrive。 这是我第一次搞砸 OAuth,我试图了解如何向用户显示登录页面并取回访问令牌。 我了解登录页面是通过此 url 调用的: https://login.live.com/oauth20_authorize.srf?client_id={client_id}&scope={scope}&response_type=token&redirect_uri={redirect_uri}

使用 java 向用户“显示”登录页面并使用访问代码等待重定向的最佳方式是什么?

【问题讨论】:

    标签: java oauth-2.0 onedrive


    【解决方案1】:

    我正在编写一个简单的桌面应用程序,有时需要将压缩存档上传到 OneDrive

    您可以尝试使用device authorization grant flow

    该服务将返回一个登录 URL 和一个代码。然后你的应用程序

    • 打开浏览器访问返回的 URL
    • 定期轮询令牌,如果用户登录并输入代码,则会返回该令牌

    embed a web page in the java app 有很多方法,但是你必须处理重定向 url 等。所以对于桌面应用程序,我发现设备授权流程最容易实现。

    【讨论】: