我正在用 javascript 构建一个 web 应用程序,它可以离线工作,使用本地存储,并与同一域上的 API 通信。我希望用户能够执行初始身份验证(用户名和密码),然后可能每 10 天左右进行一次定期身份验证,我想使用 OAuth 来执行此操作。我想使用 2-legged 身份验证,因为我不希望用户在身份验证后必须确认访问。但是,我知道秘密不能安全地存储在 javascript 中,这可能吗?如果是,我该如何实现它?
问问题
366 次
1 回答
1
是的,您可以使用资源所有者密码凭据授予类型来实现此目的。这是一个简单的 HTTP POST 到 OAuth 授权服务器,带有 client_id、grant_type、用户名和密码。返回的是 access_token 和一些关于它的元数据(类型、到期、刷新令牌)。刷新令牌可用于为您的“10 天”场景请求新的访问令牌,访问令牌可能更适合几分钟(会话超时)。
对于此授权类型,客户端身份验证(使用 client_secret)是可选的。
于 2012-04-30T18:43:43.203 回答