在ionic 3应用程序中使用JWT进行身份验证

cna*_*ak2 2 jwt ionic3 angular

我有一个想使用touchId功能的ionic 3应用程序。

后端API正在.net中开发。

对于我的身份验证模型,我认为在用户输入登录名和密码并由服务器进行身份验证之后,它会发回JWT令牌。

我可以将令牌存储在本地,然后每次用户使用touchId时,它都会检查令牌是否存储在本地,然后将该令牌与服务器进行匹配并允许访问。

这是怎么运作的?

Fat*_*med 5

您可以使用angular2-jwt,它可以完美工作并自动与所有http请求一起发送令牌,并且您可以非常轻松地管理令牌的到期时间

您只能在ionic储存库的配置文件中提供访问令牌的来源,这是ionic的配置:

import { JwtModule, JWT_OPTIONS } from '@auth0/angular-jwt';
import { Storage } from '@ionic/storage';

export function jwtOptionsFactory(storage) {
return {
  tokenGetter: () => {
   return storage.get('access_token');
 }
}
}


@NgModule({

imports: [
 JwtModule.forRoot({
    jwtOptionsProvider: {
    provide: JWT_OPTIONS,
    useFactory: jwtOptionsFactory,
    deps: [Storage]
  }
})
]})
Run Code Online (Sandbox Code Playgroud)