如何使用Javascript获得的OAuth访问令牌通过PHP进行身份验证

如何使用Javascript获得的OAuth访问令牌通过PHP进行身份验证,php,javascript,oauth,opera,opera-extension,Php,Javascript,Oauth,Opera,Opera Extension,我正在为Opera编写一个扩展,它将使用Twitter OAuth API。我知道这是不受欢迎的,但我正在用扩展中的Javascript实现TwitterOAuth。请容忍我,因为我对OAuth不太在行 但这是我想做的。一旦用户通过Twitter验证,我将使用Opera extensions可用的widget.preferences对象将访问令牌存储在localStorage中。这是我现在不确定的部分。在扩展中,可以发布评论。注释将从扩展发布到服务器上的脚本,服务器将处理注释并将其插入数据库的表

我正在为Opera编写一个扩展,它将使用Twitter OAuth API。我知道这是不受欢迎的,但我正在用扩展中的Javascript实现TwitterOAuth。请容忍我,因为我对OAuth不太在行

但这是我想做的。一旦用户通过Twitter验证,我将使用Opera extensions可用的widget.preferences对象将访问令牌存储在localStorage中。这是我现在不确定的部分。在扩展中,可以发布评论。注释将从扩展发布到服务器上的脚本,服务器将处理注释并将其插入数据库的表中

我现在想知道的是,我如何才能确保发表评论的人的用户名是发表评论并在我的扩展名中使用Twitter登录的用户的真实用户名

如果我只是从扩展发送用户名,那么在请求中操作用户名将非常容易,从而导致在数据库中插入带有注释的假用户名

我可以发送从扩展发布评论的用户的访问令牌,服务器将接收它和评论数据。在将注释插入数据库之前,我是否可以使用从Javascript扩展发送的访问令牌,用PHP检索由该访问令牌表示的用户的Twitter用户名?或者是每次用户通过身份验证时随机创建的访问令牌,因此不能像这样重复使用?

是通过API验证Twitter身份的标准方法

基本流程为:

  • 扩展对帐户/验证\ U凭据请求进行签名,但不会将其发送到Twitter
  • 扩展将已签名的请求发送到服务器
  • 服务器向Twitter发出请求。如果它成功并返回
    屏幕名称
    ,则您知道它是谁

  • 太好了,我想这就是我想要的!我如何签名,但不向Twitter发送请求?我在用图书馆。我应该使用setAccessToken()方法吗?或者更好的是,你知道有一篇文章清楚地演示了这种技术吗?我从来没有使用过jsOAuth,所以我对此无能为力,但它看起来会生成签名。ToSignatureBasString只会创建签名基字符串。但是,将该字符串连同机密一起发送到OAuth.signatureMethod[“HMAC-SHA1”]方法,您就应该完成了。您可能可以跳过访问令牌。