ns-angular-jwt
NS Angular 的 JSON Web Token 辅助库
npm i --save ns-angular-jwt

Nativescript - Angular - JWT

  • Angular v11+ 和 RxJS v6+ -> v1.0

该库提供了一个 HttpInterceptor,它会在 HttpClient 请求中自动附加一个 JSON Web Token

安装

# installation with tns
tns install slejnej/ns-angular-jwt

使用

  1. 确保您拥有任何 OAuth2 服务的凭据
  2. 在应用根目录中创建您的 injectable AuthGuard 服务,如下所示
// file - auth-guard.service
import all_needed_used_and_injected!!!

@Injectable()
export class AuthGuard implements CanActivate {

subscription: Subscription;

constructor(private routerExtensions: RouterExtensions, protected authService: AuthService,
protected userService: UserService, private storage: SecureStorageService) { }

canActivate() {
if (this.authService.isAuthenticated()) {
console.log('guard OK');
return true;
}
else {
console.log('guard FAIL');
// logout user and redirect
return false;
}
}
  1. 在您的 app-routing.module.ts 中检查是否已定义 auth 提供者
import { AuthGuard } from "~/auth-guard.service";
export const authProviders = [
AuthGuard
];
  1. 创建新的 token.interceptor.ts