这个问题与“浏览器是否使用非RESTful API”或“令牌授权头”无关。这个问题与API-Design(外观标记)、良好实践和身份验证(/login
)有关,而不是授权(令牌标头)。
我知道如何制作API,HTTP协议如何工作,什么是RPC,什么是REST。如果你读了我的问题,你可能会看到我理解其中的原理。请仔细阅读我的问题。不要只看题目本身然后回答。你需要上下文才能回答。
我试图设计一个不使用动词的REST API。它变得越来越具有挑战性,因为我正在处理登录/身份验证之类的案例,比如控制器。
GET /authenticate
GET /users (noun) REST
POST /register (verb) RPC
GET /logout (verb) RPC
这可能看起来像是一个非常语义的问题,如果是这样,我希望你告诉我,我可能认为这是一个愚蠢的方式,这样我就可以停止关心这个了。但是在我看来,当一个API中明显有动词时,却认为它是RESTfull,这真的很奇怪,所以这就是为什么我要征求您的意见。
否则,如果有一种更好的更RESTful的方法来执行身份验证,我希望得到一些建议。因为在Google上寻找这个主题的答案很麻烦,除了人们说“不要在RESTful API中使用动词”之外,这在这种情况下是令人困惑的。
这可能不是您可能见过的其他一些问题的重复,比如这个问题,如何创建没有动词的REST URL?
我发现这也不是一个重复的,但实际上非常相似的REST API登录模式用户询问哪一个是合适的RESTful设计,但他显然没有得到任何回答我所问的问题的答案。这就是“如果您的RESTful设计中有一个/login路径,那么该设计是否仍然是RESTful”的语义(愚蠢与否)。答案是关于授权,而不是身份验证。
我提出这一免责声明是因为我过去的一些问题被否决了,因为它们被认为是重复的,而实际上它们只是相似的,即使我从未得到答复,否决也从未被删除。虽然,如果你找到一个适当的副本,我会真的很高兴接受它。只是请不要粗鲁地扔一个重复的东西,唯一重复的东西是标题。
一个具有本地登录的REST客户机和服务器示例如下:
服务器API:
get/users/currentuser
授权中的用户名和密码:基本
标头,设置上下文。如果无效,则抛出401问题内容: 如果我要使用DefaultServeMux(我将其指定为ListenAndServe的第二个参数来指定),那么我可以访问,您可以在Go Wiki的以下示例中看到该: 在当前代码中,我无法使用DefaultServeMux,即我将自定义处理程序传递给ListenAndServe 因此,我没有内置的代码。但是,我必须将一些授权代码修改为需要类似的授权代码。例如,如果我一直在使用Defaul
我有一个具有两个属性的dynamoDB表: A: 主分区键 B: 主排序键 我想使用属性B查询这个表,因为我不知道A的值。可以这样做吗? 是否可以将B设为GSI(全局二级索引),如何使用B查询表,因为B已经是排序键。
问题内容: 我有和。 我的Linux Mint 12上有很多错误,我只是重新安装了它,所以我想再次从头开始安装所有内容。 这是我的错误之一。我在那里收到一个有趣的答案: 停止使用su和sudo运行virtualenv。 你需要以普通用户身份运行virtualenv。 你已经使用sudo创建了virtualenv,这就是为什么你会收到这些错误的原因。 那么如何不使用安装呢?我可以使用还是不使用?还是
问题内容: 我想在不使用设置器的情况下将值插入变量。如果有可能怎么办。 这是一个例子 现在我有一个包含,和的函数。 我试图使用一种通用方法将值设置为Object(objectOfClass),而值我已经在相应的variable()中通过了()。 问题答案: 此代码未经测试。你可以试试看 要导入的类 方法
本文向大家介绍如何在不使用HTML的情况下创建网站?,包括了如何在不使用HTML的情况下创建网站?的使用技巧和注意事项,需要的朋友参考一下 如果您不了解HTML或CSS,并且想创建一个网站,那么不用担心,您可以轻松创建网站,而无需编写一行HTML代码。 以下是一些无需编写任何HTML或代码行即可构建网站的方法: 网站构造函数 当您购买网站托管计划时,托管公司将为您提供免费的网站构建器选项,以轻松创
问题内容: 在Mongoose的早期版本(针对node.js)中,可以选择使用它而不定义架构 但是在当前版本中,“ noSchema”功能已被删除。我的架构可能会经常更改,并且实际上不适合已定义的架构,因此,是否有一种新的方式在猫鼬中使用无架构的模型? 问题答案: 我想这就是您要寻找猫鼬严密的东西 选项:严格 严格选项(默认情况下启用)可确保未在架构中指定的添加到模型实例的值不会保存到数据库中。
问题内容: 我已经在Swift 2中使用了这种方法 但是不知道如何在不使用 NSDictionary(contentsOfFile:path)的* 情况下在Swift3中读取plist * 问题答案: Swift的本机方法是使用 ~~~~ 您还可以使用类型强制转换: 但您明确地写道: 不使用NSDictionary(contentsOf … 基本上,不要在Swift中不进行强制转换而使用,您将丢弃
有没有一种方法可以下载Docker映像/容器,例如,使用Firefox,而不使用内置的。 我被公司防火墙和代理屏蔽了,我无法通过它得到一个洞。 我的问题是我不能使用Docker获取图像,即Docker保存/拉取和其他Docker提供的功能,因为它被防火墙阻止了。