以两种方式进行RESTful身份验证设计

时间:2016-12-02 12:25:29

标签: rest restful-authentication restful-architecture restful-url api-design

如果我们有1种方式进行身份验证,那就像

POST /sessions
{"email": "user1@domain.com", "password":"12345678"}

但是,如果我们有第二种方式通过社交网络进行身份验证,该如何做呢?

它可能是同一个动词和路径

POST /sessions
{"social_network": "facebok", "access_token":"qqqwwweeerrtt"}

但现在我无法强制执行,如果传递电子邮件,则还需要密码。

2 个答案:

答案 0 :(得分:0)

您可以检查请求正文。两个JSON主体的区别在于它们之间的决策基础。

答案 1 :(得分:0)

我认为在单独的端点上处理提供程序身份验证更有意义(& resource,隐式):

POST /providerSessions

{
 "social_network": "facebok",
 "access_token": "qqqwwweeerrtt"
}