我是一个 OAuth2 新手,正在尝试保护 Rest 服务。我们有一个环境,我们自己开发客户端和服务器。客户端部署在 Nginx 服务器上,使用 HTML、CSS 和 Javascript 创建。在 Javascript 中,我们使用 AJAX 向 REST WebService 发出发布请求。 REST部署在Tomcat服务器上。
它是一个 Web 应用程序,用户可以通过提供凭据来登录(AJAX 调用/login Web 服务并获取响应)。现在,为了实现 OAuth2,我阅读了相关内容,发现客户端的类型决定了要使用哪个 OAuth 授权。在这种情况下,客户端似乎是公共(public)的,并且隐式授予类型或资源所有者密码凭据似乎是可接受的类型。我需要有关为此方案选择的资助类型的建议。
此外,在这种情况下 OAuth2 的工作流程是什么,何时发挥作用。目前,当用户单击登录或注册时,REST 服务就会相应执行。现在应该有一个服务在页面加载时被调用并发出访问 token 或将其与登录服务合并。
最佳答案
你必须使用类似的东西 http://www.baeldung.com/rest-api-spring-oauth2-angularjs 您可以在您的场景中使用的唯一两种授权类型是隐式授权或密码授权,因为您无法安全地存储 OAuth2“secret_code”,而且您既是资源所有者又是授权服务器所有者。
关于javascript - 需要帮助了解 OAuth2 工作流程和选择授权类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42385473/