繁体   English   中英

如何将Slack的OAuth2与Java桌面应用程序一起使用

[英]How to use Slack's OAuth2 with a Java desktop application

有没有办法使用OAuth2使用Slack对Java桌面应用程序进行身份验证? 我想跟随Slack的指南

我被卡住了因为它说你在应用程序的重定向uri中获得了访问令牌。 但是,由于我正在制作的应用程序不存在于Web浏览器中,无论如何我能做到这一点吗?

我的java应用程序可以启动它可以与之通信的localhost站点以用作重定向uri吗? 如果是这样,怎么样?

桌面应用作为内部集成

在我们了解更多详细信息之前,请注意,如果您计划仅将自己的桌面应用程序用于自己的Slack工作区,则可以使用简单的解决方案。 在这种情况下,您的应用程序不需要支持完整的Oauth工作流程,您有两种选择:

  • 通过Slack应用程序的管理页面将您的应用程序安装为内部集成 ,然后将令牌复制并粘贴到您的桌面应用程序
  • 为Slack工作区创建旧标记 ,然后复制并粘贴到您的桌面(不推荐)

我还想提前澄清一下,您的应用程序只需要运行Oauth进程ONCE,以便将其安装到新的Slack工作区中。 生成的令牌没有到期日期,并且不得刷新。

适用于多个Slack工作区的桌面应用程序

如果您计划将桌面应用程序分发到多个Slack工作区,则需要支持完整的Oauth安装过程。

Slack正在使用Oauth 2.0,所以原则上这个旧的Oauth wiki文章的所有标准答案也适用于Slack。

但是,由于您不能假设您的用户的本地计算机可以从Internet访问(例如,重定向回本地Web服务器将无法工作,因为Slack很可能无法访问它),您将需要一个Web在Web服务器上运行并可从Internet访问的帮助应用程序。

这个Web帮助应用程序基本上是一个小型Web站点,它将安装过程中的完整Oauth舞蹈执行到新的Slack工作区。 您的应用程序可以打开浏览器窗口并重定向到Web帮助应用程序以启动登录过程。 然后,您有两种基本方法来处理连接回桌面应用程序:

  • 向用户显示生成的令牌,并要求他将其复制并粘贴到您的桌面应用程序(简单方法)
  • 将生成的令牌存储在您的Web帮助应用程序中,并为您的桌面应用程序提供API以自动获取它。 (用户友好的方法)

如果您正在寻找这样一个Web帮助应用程序的起点,请查看此示例PHP脚本以安装Slack应用程序。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM