【发布时间】:2016-02-09 10:23:45
【问题描述】:
我已经环顾了一段时间,似乎没有人能正确回答这个问题。
假设我有一个“不受信任”的客户端应用程序:一个 AngularJS 前端。 这个前端想要访问我的 api,所以用户必须首先以某种方式进行身份验证。
因此,如果我使用 oauth 密码流程,用户必须在 HTML 表单中填写他的凭据,并且 Angular 应用程序必须发送附加 client_id 和 client_secret 的请求。
我不明白的是,每个人和规范都说 client_secret 必须保密......
这很荒谬,您必须发送 client_secret 进行身份验证,但同时您必须让 Javascript 不知道它?
所以我的问题是:
如何在不泄露 client_secret 的情况下使用来自不受信任的客户端(Web 前端或移动应用)的 oauth 密码流?
是否有可能或根本不可能遵守此规范?
【问题讨论】:
标签: javascript web-applications oauth-2.0