【发布时间】:2018-09-08 14:35:38
【问题描述】:
我有一个 ionic 3 应用程序,我想在其中使用 touchId 功能。
后端 API 正在 .net 中开发。
对于我的身份验证模型,我认为在用户输入登录名和密码并通过服务器身份验证后,它会发回 JWT 令牌。
我可以将令牌存储在本地,然后每次用户使用 touchId 时,它都会检查令牌是否存储在本地,然后将该令牌与服务器匹配并允许访问。
它是这样工作的吗?
【问题讨论】:
我有一个 ionic 3 应用程序,我想在其中使用 touchId 功能。
后端 API 正在 .net 中开发。
对于我的身份验证模型,我认为在用户输入登录名和密码并通过服务器身份验证后,它会发回 JWT 令牌。
我可以将令牌存储在本地,然后每次用户使用 touchId 时,它都会检查令牌是否存储在本地,然后将该令牌与服务器匹配并允许访问。
它是这样工作的吗?
【问题讨论】:
您可以使用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]
}
})
]})
【讨论】: