簡體   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