首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Apiary的多重身份验证方法

Apiary的多重身份验证方法
EN

Stack Overflow用户
提问于 2014-03-25 18:57:49
回答 1查看 1.2K关注 0票数 0

我刚刚开始使用Apiary,我不知道这是产品的限制还是我不知道该做什么。

我正在记录一个API,它作为每个请求的一部分对用户进行身份验证。有时,身份验证是路径的一部分(对用户配置文件的请求将用户id包含在路径中),其他时候只是作为参数(?user_id=1&auth=secret),而对于POST请求,传入体的一部分是JSON。

此外,在应用程序中有3种身份验证方法。您可以使用Facebook、电子邮件地址或使用所使用设备的唯一id登录。结果如下所示:

代码语言:javascript
复制
##User [/user/{facebook_uid}{?access_token}, /user/{email}{?device_id}, /users/{device_auth_id}{?device_id}]

这很好,并如我所期望的那样显示在API中:

但这就引出了两个问题:

1)如果我想添加一组由所有身份验证方法共享的参数,则需要将其添加到所有3个中,如下所示:

代码语言:javascript
复制
## User [/user/{facebook_uid}{?access_token, extra_thing, this_too}, 
/user/{email}{?device_id, extra_thing, this_too}, 
/users/{device_auth_id}{?device_id, extra_thing, this_too}]

这似乎有点混乱,在路径数组的末尾应用共享参数会更好,因此它们适用于所有的参数,如下所示:

代码语言:javascript
复制
## User [/user/{facebook_uid}{?access_token}, /user/{email}{?device_id}, /users/{device_auth_id}{?device_id}]{&extra_thing, this_too}

但这不管用。有办法这样做吗?这些文档对于像这样更复杂的东西没有多大帮助。

此外,是否有一种方法可以创建某种模板,可以应用于我的所有方法?在身份验证是路径的一部分的情况下,这有点不可避免,但对于其他请求,最好只执行类似include: authentication的操作,并让它从某个定义的模板中提取唯一的id/auth组合框。

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-03-25 19:16:30

首先,没有真正支持具有多个资源表示的单个模型。这是一件不寻常的事情,而且实际上是很好的思想食粮。

其次,在[path segment]中使用多个URI可能会混淆Apiary的模拟服务器并使其无法使用。

在我看来,我把它分成三个模型:Facebook UserE-mail UserDevice User,文档略有不同(它们是如何创建的?您真的可以通过api创建所有这些吗?等等)

这还取决于您想要如何记录这一点。由于路径段没有被验证(根据参数的类型拥有不同的资源是很奇怪的),所以您可以只使用(我个人也会这么做)。

代码语言:javascript
复制
## User [/user/{id}{?access_token, extra_thing, this_too}]

+ Parameters
    + id (required, string, `test@example.com`)...id of the user. Can be either user's e-mail, facebook id or device id from where user was created.

对于可重用的部件,这是带有身份验证的目前正在执行中 作为其中的一部分

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22643869

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档