Я пытаюсь создать тестовое веб-приложение, которое использует различные службы oauth, такие как github, youtube, reddit, twitter ...
Но я не понимаю, в каких документах твиттера нужно получить / account / verify_creditentials ... Я ищу тестовые запросы в google, но не нашел.
Вот мой сервер. js код для твиттера:
const OAuth = require('oauth').OAuth;
const oa = new OAuth(
'https://api.twitter.com/oauth/request_token',
'https://api.twitter.com/oauth/access_token',
process.env.CONSUMER_KEY,
process.env.CONSUMER_SECRET,
'1.0',
null,
'HMAC-SHA1'
);
const session = require('express-session')
app.use(session({
secret: 'am i bad dev',
cookie: {}
}))
app.get("/login/twitter", (req, res)=>{
oa.getOAuthRequestToken(function(error, oauth_token, oauth_token_secret, results){
if (error) return res.send(error);
req.session.oauth_token=oauth_token;
req.session.oauth_token_secret=oauth_token_secret;
const endpoint = 'https://api.twitter.com/oauth/authenticate?oauth_token=' + oauth_token;
res.redirect(endpoint)
})
})
app.get("/twitter",(req,res)=>{
res.sendFile(__dirname+"/views/twitter.html")
})
app.get("/connect/twitter",(req,res)=>{
console.log(req.session)
oa.getOAuthAccessToken(req.session.oauth_token, req.session.oauth_token_secret, req.query.oauth_verifier, function(error, oauth_access_token, oauth_access_token_secret, results) {
if (error) return res.send(error)
res.cookie("twitter_token",oauth_access_token);
res.cookie("twitter_token_secret",oauth_access_token_secret);
res.redirect("/twitter")
})
})
An ddd вот мои просмотры / твиттер. html файл:
<html>
<head>
<title>nom d'utilisateur twitter</title>
</head>
<body>
<img id="img" width="100" height="100">
<h1 id="un">
</h1>
<script>
function getCookie(cname) {
var name = cname + "=";
var decodedCookie = decodeURIComponent(document.cookie);
var ca = decodedCookie.split(';');
for(var i = 0; i <ca.length; i++) {
var c = ca[i];
while (c.charAt(0) == ' ') {
c = c.substring(1);
}
if (c.indexOf(name) == 0) {
return c.substring(name.length, c.length);
}
}
return "";
}
const token = getCookie("twitter_token");
const token_secret = getCookie("twitter_token_secret")
if (!token) window.location = "/login/twitter"
// And then I want to do my request...
</script>
</body>
</html>
Заранее спасибо за помощь!