每次调用我的REST API,我要求客户通过用户的Facebook访问令牌,该令牌认证用户。 什么是传递此令牌最佳做法?
也许作为HTTP问号后面的参数
GET /api/users/123/profile?access_token=pq8pgHWX95bLZCML
或以某种方式在所述请求的首部中,类似于HTTP基本认证
- 也许第三种选择? (我已经排除通过它的JSON,因为我需要令牌获得通过
GET
调用一样,所以JSON将不适合那里,我想)
每次调用我的REST API,我要求客户通过用户的Facebook访问令牌,该令牌认证用户。 什么是传递此令牌最佳做法?
也许作为HTTP问号后面的参数
GET /api/users/123/profile?access_token=pq8pgHWX95bLZCML
或以某种方式在所述请求的首部中,类似于HTTP基本认证
GET
调用一样,所以JSON将不适合那里,我想) 如果你看一下所有流行的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参数。