- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
有没有一种方法可以使用 OAuth2 通过 Slack 对 Java 桌面应用程序进行身份验证?我正在尝试关注 Slack's guide .
我卡住了,因为它说您在应用程序的重定向 uri 中获取了访问 token 。但是由于我正在制作的应用程序不存在于网络浏览器中,无论如何我可以做到这一点吗?
我的 java 应用程序能否启动一个本地主机站点,它可以与之通信以用作重定向 uri?如果是,怎么办?
最佳答案
作为内部集成的桌面应用
在我们深入了解更多细节之前,请注意,如果您计划仅将桌面应用程序用于您自己的 Slack 工作区,则有一个简单的解决方案。在这种情况下,您的应用不需要支持完整的 Oauth 工作流程,您有两个选择:
我还想预先澄清一下,您的应用程序只需运行一次 Oauth 进程即可将其安装到新的 Slack 工作区中。生成的 token 没有到期日期,也无需刷新。
用于多个 Slack 工作区的桌面应用
如果您计划将桌面应用程序分发到多个 Slack 工作区,您将需要支持完整的 Oauth 安装过程。
Slack 使用的是 Oauth 2.0,因此原则上所有标准答案都来自这个较旧的 Oauth wiki article也应该适用于 Slack。
但是,由于您不能假设您的用户的本地计算机可以从 Internet 访问(例如,重定向回本地 Web 服务器将不起作用,因为 Slack 很可能无法访问它),您将需要一个在网络服务器上运行并且可以从互联网访问的网络帮助应用程序。
这个 Web 帮助应用程序基本上是一个小型网站,它执行完整的 Oauth 舞蹈,用于安装到新的 Slack 工作区中。您的应用程序可以打开浏览器窗口并重定向到 Web 帮助程序应用程序以启动登录过程。然后,您有两种基本方法来处理与桌面应用程序的连接:
如果您正在寻找此类 Web 帮助应用程序的起点,请查看此 example PHP script用于安装 Slack 应用程序。
关于java - 如何在 Java 桌面应用程序中使用 Slack 的 OAuth2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49142803/
我是一名优秀的程序员,十分优秀!