如何解决从 Twitch OAuth 授权代码流中获取 Bearer 令牌
我想实现 Twitch 授权代码流程。如果我理解正确,它分为两部分 - 首先获取代码,然后从该代码获取令牌。
所以我开始的第一部分
using RestSharp;
String id = "<client-id>";
var client = new RestClient("https://id.twitch.tv/oauth2/authorize");
var request = new RestRequest(Method.POST);
request.AddHeader("cache-control","no-cache");
request.AddHeader("content-type","application/x-www-form-urlencoded");
request.AddParameter("application/x-www-form-urlencoded","redirect_uri=http://localhost&response_type=code&scope=user:read:subscriptions&force_verify=false&client_id=" + id,ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
dynamic resp = JObject.Parse(response.Content);
String token = resp.access_token;
为此,我得到以下回复。
{"status":401,"message":"invalid csrf token"}
可能是。
我认为在 client.Execute
部分我必须打开一个浏览器窗口。我想知道这是如何工作的。但是我需要响应才能继续处理令牌的代码。 我该如何处理这个回复?是本地应用的问题吗?是控制台应用。
对于客户端凭据流,它适用于以下内容。但这对我没有帮助,因为某些 API 调用需要用户授权。
// changes in compare with the upper snippet
String secret = "<client-secret>";
var client = new RestClient("https://id.twitch.tv/oauth2/token");
request.AddParameter("application/x-www-form-urlencoded","grant_type=client_credentials&scope=user:read:subscriptions%20channel:read:subscriptions&client_id=" + id + "&client_secret=" + secret,ParameterType.RequestBody);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。