C# 研究Twitter网站如何创建承载令牌
为什么我在社区得到-4分? 没有人知道答案,所以他们给了我-4分,因为我问了一个你无法理解的问题?请解释一下。。。这是一个技术性很强、难度很大的问题,应该得到社区更好的反应。除非我开始问一些简单的问题 我得到了错误的答案: 1.“只需使用您的用户和密码调用OAuth端点” 否,我跟踪了从登录到follow操作(当需要承载令牌时)的所有浏览器请求,并且浏览器在任何时候都不会调用服务器来获取承载令牌。所以这并不容易。尽管如此,当您想要执行如下操作时,浏览器在登录后发送时仍具有承载令牌。(这就是它从登录数据在JS中生成它的原因)C# 研究Twitter网站如何创建承载令牌,c#,twitter,oauth,httprequest,token,C#,Twitter,Oauth,Httprequest,Token,为什么我在社区得到-4分? 没有人知道答案,所以他们给了我-4分,因为我问了一个你无法理解的问题?请解释一下。。。这是一个技术性很强、难度很大的问题,应该得到社区更好的反应。除非我开始问一些简单的问题 我得到了错误的答案: 1.“只需使用您的用户和密码调用OAuth端点” 否,我跟踪了从登录到follow操作(当需要承载令牌时)的所有浏览器请求,并且浏览器在任何时候都不会调用服务器来获取承载令牌。所以这并不容易。尽管如此,当您想要执行如下操作时,浏览器在登录后发送时仍具有承载令牌。(这就是它从登
<link rel="preload" href="https://abs.twimg.com/k/en/init.en.ace7071c803c455c5d97.js" as="script">
<link rel="preload" href="https://abs.twimg.com/k/en/0.commons.en.de7b4986f9ad407bc0e4.js" as="script">
<link rel="preload" href="https://abs.twimg.com/k/en/8.pages_home.en.9ee19c8cf9256226b254.js" as="script">
this._addBearerTokenToUrl = function(t, e) {
return t ? h.a.addToUrl(e, {
bearer_token: t
}) : e
function n() {
var t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : u;
return function(e, i) {
var n = {
authorization: "Bearer " + t
};
a.a.user.id && (n["x-twitter-auth-type"] = "OAuth2Session");
var o = Object(r.a)(c);
return o && (n["x-csrf-token"] = o), e.headers = s({}, e.headers, n), i(e)
}
}
function n() {
var t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : u;
return function(e, i) {
var n = {
authorization: "Bearer " + t
};
a.a.user.id && (n["x-twitter-auth-type"] = "OAuth2Session");
var o = Object(r.a)(c);
return o && (n["x-csrf-token"] = o), e.headers = s({}, e.headers, n), i(e)
}
}
if (i.useOAuthSessionAuth) {
var E = this.getCsrfToken();
S = {
authorization: "Bearer " + k,
"x-twitter-auth-type": "OAuth2Session",
"x-csrf-token": E
}, x = {
withCredentials: !0
}
}
这是函数(t,e){
返回t?h.a.Addtoul(e{
持票人代币:t
}):e
函数n(){
var t=arguments.length>0&&void 0!==参数[0]?参数[0]:u;
返回函数(e,i){
变量n={
授权:“持票人”+t
};
a、 a.user.id&(n[“x-twitter-auth-type”]=“OAuth2Session”);
var o=对象(r.a)(c);
返回o&(n[“x-csrf-token”]=o),e.headers=s({},e.headers,n),i(e)
}
}
函数n(){
var t=arguments.length>0&&void 0!==参数[0]?参数[0]:u;
返回函数(e,i){
变量n={
授权:“持票人”+t
};
a、 a.user.id&(n[“x-twitter-auth-type”]=“OAuth2Session”);
var o=对象(r.a)(c);
返回o&(n[“x-csrf-token”]=o),e.headers=s({},e.headers,n),i(e)
}
}
if(i.useAuthSessionAuth){
var E=this.getCsrfToken();
S={
授权:“持票人”+k,
“x-twitter-auth-type”:“OAuth2Session”,
“x-csrf-token”:E
},x={
withCredentials:!0
}
}
这个不记名代币是如何创建的
这是特定于服务器实现的,但请确保它不会在客户端上生成。令牌包含一些信息,可以将该令牌返回给用户(类似于登录cookie)
您自己不能生成这样的令牌。如果可以,您可以在不知道的情况下为我创建一个令牌,这是一个巨大的安全漏洞。但是,您可以通过某种身份验证端点(通常是类似OAuth的端点)来获取令牌(您可以在下面的
据我所知,OWIN(ASP.NETOAuth服务器实现)使用一种加密机制,使用在
machine.config
中注册的机器密钥作为输入,以确保只有正确的服务器才能解密令牌。将在twitter中加载主页时,内容中包含barer,我通常从那里提取它,但我没有找到服务器端代码的请求来自何处因此,您必须等待页面加载,然后提取身份验证令牌
搜索:无记名令牌
此外,令牌在登录时只接收一次,然后被缓存如果您提取缓存,您可能会在那里找到它,尝试监视登录请求,并确保您清除缓存以查找请求简言之:我希望能够从成功登录后检索到的数据中创建承载令牌…我希望这不是真正的象征…如果是这样,你向我们公开了你的twitter帐户
<link rel="preload" href="https://abs.twimg.com/k/en/init.en.ace7071c803c455c5d97.js" as="script">
<link rel="preload" href="https://abs.twimg.com/k/en/0.commons.en.de7b4986f9ad407bc0e4.js" as="script">
<link rel="preload" href="https://abs.twimg.com/k/en/8.pages_home.en.9ee19c8cf9256226b254.js" as="script">
this._addBearerTokenToUrl = function(t, e) {
return t ? h.a.addToUrl(e, {
bearer_token: t
}) : e
function n() {
var t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : u;
return function(e, i) {
var n = {
authorization: "Bearer " + t
};
a.a.user.id && (n["x-twitter-auth-type"] = "OAuth2Session");
var o = Object(r.a)(c);
return o && (n["x-csrf-token"] = o), e.headers = s({}, e.headers, n), i(e)
}
}
function n() {
var t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : u;
return function(e, i) {
var n = {
authorization: "Bearer " + t
};
a.a.user.id && (n["x-twitter-auth-type"] = "OAuth2Session");
var o = Object(r.a)(c);
return o && (n["x-csrf-token"] = o), e.headers = s({}, e.headers, n), i(e)
}
}
if (i.useOAuthSessionAuth) {
var E = this.getCsrfToken();
S = {
authorization: "Bearer " + k,
"x-twitter-auth-type": "OAuth2Session",
"x-csrf-token": E
}, x = {
withCredentials: !0
}
}