51 lines
1.0 KiB
Dart
51 lines
1.0 KiB
Dart
import 'package:json_annotation/json_annotation.dart';
|
|
|
|
part 'user_info.g.dart';
|
|
|
|
@JsonSerializable()
|
|
class UserInfo extends Object {
|
|
@JsonKey(name: 'http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier')
|
|
String nameidentifier;
|
|
|
|
@JsonKey(name: 'http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname')
|
|
String givenname;
|
|
|
|
@JsonKey(name: 'is_admin')
|
|
String isAdmin;
|
|
|
|
@JsonKey(name: 'admit_year')
|
|
String admitYear;
|
|
|
|
@JsonKey(name: 'nbf')
|
|
int nbf;
|
|
|
|
@JsonKey(name: 'exp')
|
|
int exp;
|
|
|
|
@JsonKey(name: 'iss')
|
|
String iss;
|
|
|
|
@JsonKey(name: 'aud')
|
|
String aud;
|
|
|
|
UserInfo(
|
|
this.nameidentifier,
|
|
this.givenname,
|
|
this.isAdmin,
|
|
this.admitYear,
|
|
this.nbf,
|
|
this.exp,
|
|
this.iss,
|
|
this.aud,
|
|
);
|
|
|
|
factory UserInfo.fromJson(Map<String, dynamic> srcJson) => _$UserInfoFromJson(srcJson);
|
|
|
|
Map<String, dynamic> toJson() => _$UserInfoToJson(this);
|
|
|
|
bool isExpired() {
|
|
int millisecondsSinceEpoch = DateTime.now().millisecondsSinceEpoch;
|
|
return millisecondsSinceEpoch >= exp;
|
|
}
|
|
}
|