当前位置: 首页 > 知识库问答 >
问题:

使用REST api的Guid令牌(而不是用户名/密码)进行基本身份验证

丘向荣
2023-03-14

我正在为后端开发一个使用带有REST API的PhoneGap的移动应用程序。REST API不会被第三方开发人员使用,而是特定于应用程序的,因此不需要实现oAuth。因此,我计划使用基本身份验证,即用户输入用户名/密码来访问API资源。所有API通信都将在SSL上。

与其让应用程序存储username/password并将其与每个请求一起发送给API,我宁愿在第一个登录请求时验证username/passwordhtml" target="_blank">并发送回一个GUID令牌。客户端存储这个GUID令牌,并通过授权头将令牌与每个请求一起发送回API,如下所示:

授权:基本e1d9753f-a508-46cc-a428-1787595d63e4

这种做法听起来是否合理和稳妥?

共有1个答案

贺英悟
2023-03-14

您根本不需要创建自定义头或身份验证方案。

承载身份验证方案正是为您的用例设计的:

Authorization: Bearer e1d9753f-a508-46cc-a428-1787595d63e4

基本身份验证必须如下所示:

Authorization: Basic base64EncodedUsernameAndPassword
base_64_encode(username + ':' + raw_password)
 类似资料:
  • 我是全新的RestTemboard和基本上在REST API也。我想通过Jira REST API检索我的应用程序中的一些数据,但取回401未经授权。在jira rest api留档上找到并发表文章,但不知道如何将其重写为java,因为示例使用curl的命令行方式。我将感谢任何建议或建议如何重写: 进入java使用SpringRest模板。其中ZnJlZDpmcmVk是用户名:密码的Bas64编码

  • 客户已创建密钥存储库并存储凭据。为了验证密钥存储库,我已经在节点中创建了应用程序,并使用客户端id和客户端机密,我能够读取机密。但是现在客户不想使用客户id和客户机密,而是使用AZURE的用户名和密码来访问程序中的keyvault。它是一个没有MFA的keyvault访问的专用用户。 我不确定我们是否可以从节点JS使用用户名和密码访问keyvault。敬请建议。 谢谢

  • 我想使用我的GitLab帐户中的私有令牌克隆GitLab存储库,而不提示输入我的自动化脚本。 有人能给我一个样品吗? 我知道我可以使用用户和密码执行此操作: 我知道使用ssh密钥是可能的 但是,这两种选择都是不够的。

  • 是否可以在Flatter中使用用户名和密码(而不是电子邮件和密码)实现Firebase身份验证?有没有办法用Firebase Auth插件来实现这一点?

  • 使用 的请求可用于身份验证吗? 或者 我们应该使用另一种方法来验证客户端并颁发令牌,然后像OAuth2一样将令牌用作不记名令牌吗?为什么流行的Web服务(例如Github、AWS、Google…)使用其他方法(如AWS所做的:)来验证客户端。问题的重点是:以下流程中是否存在任何可值或违反标准的行为。 我想使用以下流程: :类似于Twitter客户端。 :类似于Twitter API。 < li >

  • 我尝试运行osxkeychain命令,但它没有改变任何东西。我还尝试使用取消设置用户密码,并尝试打开Keychain Access application并删除GitHub条目,但都不起作用。