【问题标题】:how to implement a truly serverless oauth如何实现真正的无服务器 oauth
【发布时间】:2015-03-12 15:30:46
【问题描述】:

有没有一种方法可以通过 Web 服务使用 Oauth 2 进行身份验证,而无需服务器的任何支持?即,我希望仅在用户的浏览器和 Web 服务之间进行身份验证代码和身份验证令牌的交换, 不涉及任何其他服务器。

我有一个在网络浏览器中运行的 javascript 客户端,它需要使用 Oauth 对网络服务(例如 Dropbox 或 google)进行身份验证。

由于web服务在认证后返回的访问令牌或代码是重定向的形式,它必然要到redirect_uri指向的服务器。在桌面客户端上,我可以将重定向 uri 设置为 http://localhost:3000 并从 Web 服务中获取响应。

当客户端是在浏览器中运行的 javascript 脚本时,我无法在 localhost:3000 上打开服务器,这让我不得不依赖互联网上的另一台服务器来检索代码或令牌。

【问题讨论】:

    标签: javascript authentication oauth


    【解决方案1】:

    Oauth2 中有一个“密码”授权类型,可以在不需要重定向 uri 的情况下使用。

    这里有描述:https://aaronparecki.com/articles/2012/07/29/1/oauth2-simplified#others

    但缺点是客户端应用需要知道用户名和密码,所以它可能并不适合所有情况。

    【讨论】:

      猜你喜欢
      • 2020-10-29
      • 2016-04-16
      • 2017-10-28
      • 2014-09-08
      • 1970-01-01
      • 2015-08-07
      • 2012-01-12
      • 2018-08-30
      • 2012-03-21
      相关资源
      最近更新 更多