OAUth 2资源所有者密码授予Javascript客户端的类型

时间:2015-02-02 19:56:35

标签: oauth oauth-2.0

我正在开发一个宁静的Web服务和一个基于角度的应用程序来访问我的Web服务。由于两者都是由我开发的,因此我决定实施OAuth 2 Pasword授权类型。(我们正在实现自己的OAuth服务器)。我在选择正确的授权类型时是否正确?

现在我对使用刷新令牌很困惑,因为它无法安全地存储在浏览器中,如果它被盗,它可以用来生成与黑客想要的一样多的访问令牌。

出于同样的原因,我不能使用长期访问令牌,这会破坏访问令牌的目的。

如果我使用短暂的访问令牌说60分钟并且不使用刷新令牌,那么我可能需要让用户每1小时登录一次,这对用户来说会很烦人。

有没有更好的方法来解决这个问题,或者我在流程中遗漏了什么?

我也可以使用隐式授权,但我相信问题是一样的。

1 个答案:

答案 0 :(得分:1)

由于您可以控制所有3个实体(客户端,资源服务器和授权服务器),因此可以使用资源所有者密码凭据授予类型,尽管使用隐式授权类型可以为您提供升级身份验证方法的方法(s )为您的用户而不修改您的客户端以处理新的身份验证类型。

您可以返回刷新令牌并将其存储在会话存储(window.sessionStorage)中。

可以在此处找到关于令牌和存储替代品的更多好处:https://auth0.com/blog/2014/01/27/ten-things-you-should-know-about-tokens-and-cookies/