Tôi không chắc chắn dịch vụ OAuth nào bạn đang cố kết nối nên tôi sẽ chỉ sử dụng twitter làm ví dụ. Sau khi bạn tạo đối tượng OAuth, trước tiên bạn cần yêu cầu mã thông báo oauth. Khi bạn nhận được mã thông báo đó, sau đó bạn cần chuyển hướng đến, đối với twitter, trang xác thực của họ hoặc nhắc họ đăng nhập, sau đó hỏi xem ứng dụng có được đăng nhập hay không.
oa.getOAuthRequestToken(function(error, oauth_token, oauth_token_secret, results){
if (error) new Error(error.data)
else {
req.session.oauth.token = oauth_token
req.session.oauth.token_secret = oauth_token_secret
res.redirect('https://twitter.com/oauth/authenticate?oauth_token='+oauth_token)
}
});
Khi bạn lần đầu tiên tạo đối tượng OAuth, bạn đặt responseURL hoặc url gọi lại. Nó có thể là bất cứ điều gì, cho ứng dụng của tôi chỉ/oauth/callback của nó. Trong cuộc gọi lại đó, bạn nhận được mã thông báo xác minh oauth. Sau đó, bạn sử dụng cả mã thông báo yêu cầu oauth và mã thông báo xác minh oauth để yêu cầu mã thông báo truy cập. Khi bạn nhận được mã thông báo truy cập, bạn cũng sẽ nhận được bất kỳ thứ gì khác mà họ vượt qua, như tên người dùng của họ.
app.get('/oauth/callback', function(req, res, next){
if (req.session.oauth) {
req.session.oauth.verifier = req.query.oauth_verifier
var oauth = req.session.oauth
oa.getOAuthAccessToken(oauth.token,oauth.token_secret,oauth.verifier,
function(error, oauth_access_token, oauth_access_token_secret, results){
if (error) new Error(error)
console.log(results.screen_name)
}
);
} else
next(new Error('No OAuth information stored in the session. How did you get here?'))
});
Hy vọng điều này sẽ hữu ích! Tôi đã có những vấn đề tương tự khi tôi bắt đầu này.
Cảm ơn bạn rất nhiều vì điều này! Làm thế nào bạn tìm ra nó? Thử nghiệm và lỗi hoặc bạn có tìm thấy một hướng dẫn hay không? – Thomas
Đã không thực sự tìm thấy một hướng dẫn. Đã tìm ra chủ yếu bằng cách truy cập tài liệu oauth twitter và lục lọi thông qua mã nguồn của mô-đun oauth – mattmcmanus