AngularJS 的 OAuth2 模块 angular-oauth2

施彬彬
2023-12-01
angular-oauth2 详细介绍

angular-oauth2 是 AngularJS 的 OAuth2 认证模块,使用 ES6 编写。

使用方法:

1. 引入 js 库:

<script src="bower_components/angular/angular.min.js"></script>
<script src="bower_components/angular-cookie/dist/angular-cookie.min.js"></script>
<script src="bower_components/query-string/query-string.min.js"></script>
<script src="bower_components/angular-oauth2/dist/angular-oauth2.min.js"></script>

2. 配置 OAuth 和 OAuthToken

angular.module('myApp', ['angular-oauth2'])
  .config(['OAuthProvider', function(OAuthProvider) {
    OAuthProvider.configure({
      baseUrl: 'https://api.website.com',
      clientId: 'CLIENT_ID',
      clientSecret: 'CLIENT_SECRET',
    });
  }]);

3. 错误处理:

angular.module('myApp', ['angular-oauth2'])
  .run(['$rootScope', '$window', function($rootScope, $window) {
    $rootScope.$on('oauth:error', function(event, rejection) {
      // Ignore `invalid_grant` error - should be catched on `LoginController`.
      if ('invalid_grant' === rejection.data.error) {
        return;
      }

      // Redirect to `/login` with the `error_reason`.
      return $window.location.href = '/login?error_reason=' + rejection.data.error;
    });
  }]);
 类似资料: