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

Posted

技术标签:

【中文标题】在 ionic 3 应用程序中使用 JWT 进行身份验证【英文标题】:Using JWT for authentication in an ionic 3 application 【发布时间】:2018-09-08 14:35:38 【问题描述】:

我有一个 ionic 3 应用程序,我想在其中使用 touchId 功能。

后端 API 正在 .net 中开发。

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

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

它是这样工作的吗?

【问题讨论】:

【参考方案1】:

您可以使用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]
  
)
])

【讨论】:

嗨法塔赫,谢谢!这是否适用于后端的 .net 核心?

以上是关于在 ionic 3 应用程序中使用 JWT 进行身份验证的主要内容,如果未能解决你的问题,请参考以下文章

angular ionic - jwt 令牌标头发布错误

具有 OAuth 2 和 JWT 安全性的 Spring Boot 微服务

JWT 访问令牌:矛盾?

Laravel 未检测到标头和 JWT 包中发送的身份验证令牌

React Native 和 React Js 的 JWT Token vs Session Token

Auth0 JWT 插件和 ionic2 - 无授权标头发送