客户应如何通过Facebook的访问令牌服务器?(How should a client pass

2019-09-02 22:13发布

每次调用我的REST API,我要求客户通过用户的Facebook访问令牌,该令牌认证用户。 什么是传递此令牌最佳做法?

  1. 也许作为HTTP问号后面的参数

     GET /api/users/123/profile?access_token=pq8pgHWX95bLZCML 
  2. 或以某种方式在所述请求的首部中,类似于HTTP基本认证

  3. 也许第三种选择? (我已经排除通过它的JSON,因为我需要令牌获得通过GET调用一样,所以JSON将不适合那里,我想)

Answer 1:

如果你看一下所有流行的OAuth提供者提供的API端点(谷歌,Facebook,口袋,Git会等),你会发现它们都具有HTTPS端点。

您可以在其中传递一个访问令牌提供者的方式是 -

我) 作为查询参数 -

https://yourwebsite.com/api/endpoint?access_token=YOUR_ACCESS_TOKEN

ⅱ) 在请求报头 -

 GET /api/users/123/profile HTTP/1.1
 Host: yourwebsite.com
 Date: Tue, 14 May 2013 12:00:00 GMT
 Authorization: <YOUR_ACCESS_TOKEN>

这两个是通常被大多数API支持的方法。 你可以认为做同样的。

III)袖珍API不使用GET可言。 他们使用POST他们所有的要求,甚至用于检索数据。 检查此链接看到自己的文档。 请注意,他们使用POST用于检索数据,并通过JSON参数。



文章来源: How should a client pass a facebook access token to the server?