如何集成AngularJS和Spring-OAuth2?

时间:2015-12-24 09:12:46

标签: angularjs spring-security spring-rest spring-oauth2

我使用Spring-Boot-1.3.1开发了Spring-Rest API。然后我为这些API提供了Spring-OAuth2安全性。这与Apache Tomcat中的单个项目一样。 我开发的APIS:

GET -> /api/articles
GET -> /api/articles/1
POST -> /api/articles

Spring-Oauth2默认情况下提供API:

POST -> /oauth/token
POST -> /oauth/authorize

还有一些outh api。

现在我正在开发AngularJS UI,它将驻留在不同的服务器-Apache2-Http Server中。

我需要知道如何将angularJS登录页面与Spring-OAuth2保护的Spring-REST集成?

2 个答案:

答案 0 :(得分:0)

您可以使用以下库来管理令牌 angular-oauth2

步骤:

  1. 将登录凭据发送到/ oauth / token
  2. 捕获响应,提取令牌并将其添加到$ http默认标头,以便在每次请求时发送令牌

答案 1 :(得分:0)

使用代码:

var data = "username=" + user.email + "&password=" + encodeURIComponent(user.password) + "&grant_type=password&scope=read%20write&" +
                    "client_secret=secret&client_id=frontend";



            $http.post(portalResources.login, data, {
                headers: {
                    "Content-Type": "application/x-www-form-urlencoded",
                    "Accept": "application/json",
                    "Authorization": "Basic " + $base64.encode("frontend" + ':' + "secret")
                }
            });