通过C#进行身份验证

时间:2019-05-30 10:18:48

标签: c# authentication httpclient slack

我创建了一个松弛的应用程序,该应用程序必须从通道中读取消息,而另一个应用程序必须将消息从另一个工作区发布到另一个通道。但是问题是我无法安装第一个应用程序,因为需要管理权限。我在工作区中有一个帐户,需要从那里读取消息。我想用我的凭据进行身份验证,然后从响应中获取令牌,以便可以通过该令牌读取消息。

我使用HttpClient发送请求。发送请求后,我得到了200而不是302

public static async Task<HttpResponseMessage> SendRequest()
    {
        var parameters = new
        {
            SignIn,
            Redir,
            HasRemember,
            Crumb,
            Email,
            Password,
            Remember
        };

        var serializedPayload = JsonConvert.SerializeObject(parameters);
        _httpClient.DefaultRequestHeaders.Add("Cookie", cookies);

        var response = await _httpClient.PostAsync("https://testing.slack.com/",
            new StringContent(serializedPayload, Encoding.UTF8, "application/x-www-form-urlencoded"));

        if (response.StatusCode != HttpStatusCode.Found)
            Console.WriteLine("Something goes wrong\n" + "Status code: " + (int)response.StatusCode);

        var content = response.Content.ReadAsStringAsync().Result;

        var c = await _httpClient.GetAsync("https://testing.slack.com/messages/CJMDD8QJ/");

        return response;
    }

1 个答案:

答案 0 :(得分:0)

您可以使用Slack提供的OAuth 2.0 API通过Slack登录您的应用。

使用Slack登录使用OAuth 2.0应用程序批准流程来简化用户登录到您的网站,服务或应用程序的过程。