使用环回和角度

时间:2016-09-16 06:33:33

标签: angularjs loopbackjs

我正在尝试使用loopbackJS作为后端提供程序执行身份验证。在关注loopback的doc站点上的文档后,我仍然收到“未知的提供程序错误”。

以下是我到目前为止编写的以下代码。

主页视图

<form class="centered" ng-controller="UserController as user">
<div class ="form-group">
    <label for="exampleEmail">Email</label>
    <input class="form-control" type="text" name="email" placeholder="{{user.usernames.email}}">
    <label for="examplePassword">Password</label>
    <input class="form-control" type="password" name="password" placeholder="{{user.usernames.password}}">
    <p>{{user.description}}</p>
    <button class="button" ng-show="user.usernames.signin" ng-submit="login()">login</a> </button>
</div>
</form>

验证控制器

var app = angular.module('app')
app.controller('UserController', ['$scope','AuthService', '$state', function($scope, AuthService, $state){
    $scope.user = {
      email: 'foo@bar.com',
      password: 'foobar'
    };

        $scope.login = function() {
      AuthService.login($scope.user.email, $scope.user.password)
        .then(function() {
          $state.go('success');
        });
    };


}]);

的index.html

<!DOCTYPE html>
<html ng-app="app">
<head>
    <title>Todo Application</title>
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
    <link href="css/style.css" rel="stylesheet">
</head>
<header ng-include="'views/header.html'"></header>
<body>


<ui-view></ui-view>

    <script src="vendor/angular.js"></script>
    <script src="vendor/angular-resource.js"></script>
    <script src="vendor/angular-ui-router.js"></script>
    <script src="js/app.js"></script>
    <script type="text/javascript" src="js/services/auth.js"></script>
    <script type="text/javascript" src="js/controllers/auth.js"></script>
    <script src="js/services/lb-services.js"></script>
</body>
</html>

此外,为了尽可能详细地解决问题,请查看我控制台中的错误。

enter image description here

在此先感谢您的帮助,非常感谢。

2 个答案:

答案 0 :(得分:0)

我相信AuthService是你自己写的服务。您应该使用strongloop提供的实用程序来从服务器的模型生成服务。

使用loopback + angular进行身份验证非常简单。

  1. 通过在服务器的根文件夹中运行lb-ng . ./client/js/lb-services.js,从loopback服务器生成角度服务。
  2. 然后在角度,请致电MyUser.login({email: 'foo@bar.com', password: 'foobar'})
  3. 完成。如果凭据正确,则将对用户进行任何进一步的请求进行身份验证(基本上,服务会记住连接令牌,并在每次针对您的REST api发出新请求时将其设置在Authorization标头中。
  4. 最后,如果用户经过身份验证,您可能有兴趣致电MyUser.isAuthenticated()以使您的网页有不同的行为。
  5. 这是所有记录的here

答案 1 :(得分:0)

您正在使用AuthService,这是用户创建的服务。它是对环回的lb-services.js的抽象。您必须使用lb命令行生成lb-services.js.

Loopback angularjs身份验证:登录和注册 步骤进行:

  1. 创建新的环回项目。
  2. 生成lb-services.js并在angularjs项目中使用它。
  3. 使用User.login()进行登录,使用User.create()进行注册,使用User.isAuthenticated()检查用户是否登录。
  4. loopback angularjs authentication的最佳教程