我正在尝试使用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>
此外,为了尽可能详细地解决问题,请查看我控制台中的错误。
在此先感谢您的帮助,非常感谢。
答案 0 :(得分:0)
我相信AuthService
是你自己写的服务。您应该使用strongloop提供的实用程序来从服务器的模型生成服务。
使用loopback + angular进行身份验证非常简单。
lb-ng . ./client/js/lb-services.js
,从loopback服务器生成角度服务。MyUser.login({email: 'foo@bar.com', password: 'foobar'})
Authorization
标头中。MyUser.isAuthenticated()
以使您的网页有不同的行为。这是所有记录的here
答案 1 :(得分:0)
您正在使用AuthService,这是用户创建的服务。它是对环回的lb-services.js的抽象。您必须使用lb命令行生成lb-services.js.
Loopback angularjs身份验证:登录和注册 步骤进行: