在https://github.com/thomashbailey/vapor-auth观看了本教程之后,我正在练习vapor服务器。从代码中可以看到,createUser的表现很好,但是如果你尝试登录,弹出401错误,我问你一个问题。
不是登录时给代币的代码吗?我不知道.如果你能告诉我,我将不胜感激。
这个服务器似乎是HTTP基本身份验证方案的演示。
您必须首先创建一个提供密码的用户。
完成后,当访问受保护的资源时,您需要通过提供HTTP“授权”头来验证请求。
这可以通过在您的请求中“抢先”设置请求头“授权”来完成,如下所示:
组合用户名和密码,用冒号“:”分隔,并用base64编码。然后设置“授权”请求头,如伪代码所示:
授权:“basic”+“”+base64(“\(用户名):\(密码)”)
另一种方法是通过分析“WWW-Authentication”响应头来处理401(not authorized)
状态代码,当您没有设置“authorization”头时,该响应头随401而来。在提到的RFC中对此进行了详细解释。
请注意,HTTP客户端(包括Postman)确实有助于设置基本授权方案。你会很容易在《邮递员》中发现这一点。
编辑
您现在可能会注意到,每次发送请求时都必须清晰地发送用户名和密码。
这当然应该敲响警钟。事实上,由于基本HTTP身份验证存在漏洞,因此不推荐使用它。当然,您应该使用HTTPS,以防止在有线上以清晰的方式发送数据--尽管如此,在每一个请求中发送一个密码会使我们感到不满。
更现代和更安全的方案是使用承载令牌,例如在OAuth或OIDC中。
问题内容: 当以下Java代码在eclipse中执行时,它会提供正确的输出(即打印“ Class B”),但是根据Java规范,该代码无法编译(因为超类构造函数需要一个参数,并且构造函数由B类的编译器包括对超类no arg构造函数的调用(未定义),并且当尝试在命令行中使用javac命令编译文件时,它仅编译超类(即A类),并因以下编译而失败错误: 以下是java文件的内容: 有人可以解释eclips
我在执行脚本时遇到了这个错误。我已经升级了FF(56),Gecko(v0.19)和Selenium 3.6。。。 这是我的代码: 日志中的错误: 线程“main”java中出现异常。lang.IllegalStateException:驱动程序可执行文件的路径必须由webdriver设置。壁虎。驱动系统属性;有关更多信息,请参阅https://github.com/mozilla/geckodri
我无法运行服务器......我得到的错误为 如何解决这个错误! 当我尝试使用不同的端口时....所有的人都给了我同样的错误!
我正在处理的代码有一些编码问题。接收到一个加密字符串,该字符串用ISO-8859-1解码。然后将该字符串放入具有UTF-8编码的DB中。检索该字符串时,它仍然是ISO-8859-1,没有问题。问题是,我还需要能够检索这个字符串作为UTF-8,但我还没有成功。 我尝试将字符串从ISO转换为UTF-8时,从DB检索使用此方法: 不幸的是,在这种情况下,特殊字符只是显示为问号。 原始字符串:测试从DB检
问题内容: 我有一个Android应用程序项目,突然停止工作。显然没有错误,但是当我尝试启动时,我得到了: 执行Aapt时出错:返回码139 我试图清理该项目及其相关的库项目,重新启动Eclipse,更新为最新的ADT和SDK版本,等等,但是都失败了。有时我还会遇到其他错误(不进行任何更改): 生成最终归档文件时出错:java.io.FileNotFoundException:… / bin /