如何从C#中的Slack重定向URL获取代码参数

时间:2016-10-16 20:54:00

标签: c# api redirect oauth-2.0 slack

目前我的WPF应用程序中有一个松弛按钮,用于打开网页并要求用户进行访问。

System.Diagnostics.Process.Start("https://slack.com/oauth/authorize?scope=client&client_id=XXXXXXXXXXXXXXXXXXXXXX");

授权后,页面会被重定向到一个URL,该URL在我稍后需要获取令牌的参数中包含生成的代码。问题是我如何获得此代码。目前我已将重定向网址设置为www.slack.com。并生成以下网址。

 https://slack.com/?code=8XXXXXXXXXXXXXXX.XXXXXXXXXXXXXX5&state=

如何将代码返回到我的应用程序中。我使用以下内容但没有得到我需要的响应,并且在用户甚至可以授权之前执行。

HttpWebRequest req = (HttpWebRequest)WebRequest.Create(URL);
var response =req.RequestUri.ToString();

使用C#实现我对桌面应用程序的授权,可以选择其他解决方案和建议。

1 个答案:

答案 0 :(得分:1)

  1. 作为oauth进程的一部分,Slack将使用重定向url调用您的应用程序并返回代码参数。因此,重定向URL需要指向您的应用程序。不要slack.com。
  2. 您需要阅读调用您的应用程序的url参数。在C#中可以使用code = Request.QueryString["code"];
  3. 完成
  4. 您的c#应用程序需要在可从Internet访问的Web服务器上作为ASP脚本运行,以便Slack可以访问它。
  5. 为了使用Slack进行身份验证,您的应用程序需要实现完整的oauth流程,如here所述。