让我解释一下我的问题,目前我使用 LinqToTwitter 来执行用户的授权。
我的网站上有 Connect Twitter 按钮,当用户单击它时,ajax 请求请求执行授权的方法,用户被重定向到:
"https://api.twitter.com/oauth/authorize?oauth_token="
然后输入他的登录名和密码。
完成后,他会重定向到我网站的 urlReferrer,我会收到我需要的字段,例如用户名、用户 ID、...。
然后,如果社交网络用户的 UserId 与我的数据库中的任何条目都不匹配,我会打开一个弹出窗口询问他的电子邮件(电子邮件是必填字段)
然后,一旦用户确认了电子邮件,我必须通过发出 ajax 请求 connectSocialUser(userid, avatar, accessToken) 将他连接到我们的网站。
对于 Google 和 Facebook,我已经输入了访问令牌参数,然后分别请求这两个 url:
"https://graph.facebook.com/me?fields=id&access_token="
"https://www.googleapis.com/oauth2/v1/userinfo?access_token="
这两个 url 给了我用户 ID,通过简单的比较,我可以知道这个用户是好用户,而不是篡位者。
所以我的问题是:是否可以从访问令牌中检索用户的用户 ID?
如果不是,我怎样才能使它起作用?
十分感谢!