All Verbs | /jwt |
---|
import 'package:servicestack/servicestack.dart';
import 'dart:typed_data';
import 'dart:collection';
abstract class IAuthTokens
{
String? provider;
String? userId;
String? accessToken;
String? accessTokenSecret;
String? refreshToken;
DateTime? refreshTokenExpiry;
String? requestToken;
String? requestTokenSecret;
Map<String,String?>? items;
}
// @DataContract
class AuthUserSession implements IMeta, IConvertible
{
// @DataMember(Order=1)
String? referrerUrl;
// @DataMember(Order=2)
String? id;
// @DataMember(Order=3)
String? userAuthId;
// @DataMember(Order=4)
String? userAuthName;
// @DataMember(Order=5)
String? userName;
// @DataMember(Order=6)
String? twitterUserId;
// @DataMember(Order=7)
String? twitterScreenName;
// @DataMember(Order=8)
String? facebookUserId;
// @DataMember(Order=9)
String? facebookUserName;
// @DataMember(Order=10)
String? firstName;
// @DataMember(Order=11)
String? lastName;
// @DataMember(Order=12)
String? displayName;
// @DataMember(Order=13)
String? company;
// @DataMember(Order=14)
String? email;
// @DataMember(Order=15)
String? primaryEmail;
// @DataMember(Order=16)
String? phoneNumber;
// @DataMember(Order=17)
DateTime? birthDate;
// @DataMember(Order=18)
String? birthDateRaw;
// @DataMember(Order=19)
String? address;
// @DataMember(Order=20)
String? address2;
// @DataMember(Order=21)
String? city;
// @DataMember(Order=22)
String? state;
// @DataMember(Order=23)
String? country;
// @DataMember(Order=24)
String? culture;
// @DataMember(Order=25)
String? fullName;
// @DataMember(Order=26)
String? gender;
// @DataMember(Order=27)
String? language;
// @DataMember(Order=28)
String? mailAddress;
// @DataMember(Order=29)
String? nickname;
// @DataMember(Order=30)
String? postalCode;
// @DataMember(Order=31)
String? timeZone;
// @DataMember(Order=32)
String? requestTokenSecret;
// @DataMember(Order=33)
DateTime? createdAt;
// @DataMember(Order=34)
DateTime? lastModified;
// @DataMember(Order=35)
List<String>? roles;
// @DataMember(Order=36)
List<String>? permissions;
// @DataMember(Order=37)
bool? isAuthenticated;
// @DataMember(Order=38)
bool? fromToken;
// @DataMember(Order=39)
String? profileUrl;
// @DataMember(Order=40)
String? sequence;
// @DataMember(Order=41)
int? tag;
// @DataMember(Order=42)
String? authProvider;
// @DataMember(Order=43)
List<IAuthTokens>? providerOAuthAccess;
// @DataMember(Order=44)
Map<String,String?>? meta;
// @DataMember(Order=45)
List<String>? audiences;
// @DataMember(Order=46)
List<String>? scopes;
// @DataMember(Order=47)
String? dns;
// @DataMember(Order=48)
String? rsa;
// @DataMember(Order=49)
String? sid;
// @DataMember(Order=50)
String? hash;
// @DataMember(Order=51)
String? homePhone;
// @DataMember(Order=52)
String? mobilePhone;
// @DataMember(Order=53)
String? webpage;
// @DataMember(Order=54)
bool? emailConfirmed;
// @DataMember(Order=55)
bool? phoneNumberConfirmed;
// @DataMember(Order=56)
bool? twoFactorEnabled;
// @DataMember(Order=57)
String? securityStamp;
// @DataMember(Order=58)
String? type;
// @DataMember(Order=59)
String? recoveryToken;
// @DataMember(Order=60)
int? refId;
// @DataMember(Order=61)
String? refIdStr;
AuthUserSession({this.referrerUrl,this.id,this.userAuthId,this.userAuthName,this.userName,this.twitterUserId,this.twitterScreenName,this.facebookUserId,this.facebookUserName,this.firstName,this.lastName,this.displayName,this.company,this.email,this.primaryEmail,this.phoneNumber,this.birthDate,this.birthDateRaw,this.address,this.address2,this.city,this.state,this.country,this.culture,this.fullName,this.gender,this.language,this.mailAddress,this.nickname,this.postalCode,this.timeZone,this.requestTokenSecret,this.createdAt,this.lastModified,this.roles,this.permissions,this.isAuthenticated,this.fromToken,this.profileUrl,this.sequence,this.tag,this.authProvider,this.providerOAuthAccess,this.meta,this.audiences,this.scopes,this.dns,this.rsa,this.sid,this.hash,this.homePhone,this.mobilePhone,this.webpage,this.emailConfirmed,this.phoneNumberConfirmed,this.twoFactorEnabled,this.securityStamp,this.type,this.recoveryToken,this.refId,this.refIdStr});
AuthUserSession.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
referrerUrl = json['referrerUrl'];
id = json['id'];
userAuthId = json['userAuthId'];
userAuthName = json['userAuthName'];
userName = json['userName'];
twitterUserId = json['twitterUserId'];
twitterScreenName = json['twitterScreenName'];
facebookUserId = json['facebookUserId'];
facebookUserName = json['facebookUserName'];
firstName = json['firstName'];
lastName = json['lastName'];
displayName = json['displayName'];
company = json['company'];
email = json['email'];
primaryEmail = json['primaryEmail'];
phoneNumber = json['phoneNumber'];
birthDate = JsonConverters.fromJson(json['birthDate'],'DateTime',context!);
birthDateRaw = json['birthDateRaw'];
address = json['address'];
address2 = json['address2'];
city = json['city'];
state = json['state'];
country = json['country'];
culture = json['culture'];
fullName = json['fullName'];
gender = json['gender'];
language = json['language'];
mailAddress = json['mailAddress'];
nickname = json['nickname'];
postalCode = json['postalCode'];
timeZone = json['timeZone'];
requestTokenSecret = json['requestTokenSecret'];
createdAt = JsonConverters.fromJson(json['createdAt'],'DateTime',context!);
lastModified = JsonConverters.fromJson(json['lastModified'],'DateTime',context!);
roles = JsonConverters.fromJson(json['roles'],'List<String>',context!);
permissions = JsonConverters.fromJson(json['permissions'],'List<String>',context!);
isAuthenticated = json['isAuthenticated'];
fromToken = json['fromToken'];
profileUrl = json['profileUrl'];
sequence = json['sequence'];
tag = json['tag'];
authProvider = json['authProvider'];
providerOAuthAccess = JsonConverters.fromJson(json['providerOAuthAccess'],'List<IAuthTokens>',context!);
meta = JsonConverters.toStringMap(json['meta']);
audiences = JsonConverters.fromJson(json['audiences'],'List<String>',context!);
scopes = JsonConverters.fromJson(json['scopes'],'List<String>',context!);
dns = json['dns'];
rsa = json['rsa'];
sid = json['sid'];
hash = json['hash'];
homePhone = json['homePhone'];
mobilePhone = json['mobilePhone'];
webpage = json['webpage'];
emailConfirmed = json['emailConfirmed'];
phoneNumberConfirmed = json['phoneNumberConfirmed'];
twoFactorEnabled = json['twoFactorEnabled'];
securityStamp = json['securityStamp'];
type = json['type'];
recoveryToken = json['recoveryToken'];
refId = json['refId'];
refIdStr = json['refIdStr'];
return this;
}
Map<String, dynamic> toJson() => {
'referrerUrl': referrerUrl,
'id': id,
'userAuthId': userAuthId,
'userAuthName': userAuthName,
'userName': userName,
'twitterUserId': twitterUserId,
'twitterScreenName': twitterScreenName,
'facebookUserId': facebookUserId,
'facebookUserName': facebookUserName,
'firstName': firstName,
'lastName': lastName,
'displayName': displayName,
'company': company,
'email': email,
'primaryEmail': primaryEmail,
'phoneNumber': phoneNumber,
'birthDate': JsonConverters.toJson(birthDate,'DateTime',context!),
'birthDateRaw': birthDateRaw,
'address': address,
'address2': address2,
'city': city,
'state': state,
'country': country,
'culture': culture,
'fullName': fullName,
'gender': gender,
'language': language,
'mailAddress': mailAddress,
'nickname': nickname,
'postalCode': postalCode,
'timeZone': timeZone,
'requestTokenSecret': requestTokenSecret,
'createdAt': JsonConverters.toJson(createdAt,'DateTime',context!),
'lastModified': JsonConverters.toJson(lastModified,'DateTime',context!),
'roles': JsonConverters.toJson(roles,'List<String>',context!),
'permissions': JsonConverters.toJson(permissions,'List<String>',context!),
'isAuthenticated': isAuthenticated,
'fromToken': fromToken,
'profileUrl': profileUrl,
'sequence': sequence,
'tag': tag,
'authProvider': authProvider,
'providerOAuthAccess': JsonConverters.toJson(providerOAuthAccess,'List<IAuthTokens>',context!),
'meta': meta,
'audiences': JsonConverters.toJson(audiences,'List<String>',context!),
'scopes': JsonConverters.toJson(scopes,'List<String>',context!),
'dns': dns,
'rsa': rsa,
'sid': sid,
'hash': hash,
'homePhone': homePhone,
'mobilePhone': mobilePhone,
'webpage': webpage,
'emailConfirmed': emailConfirmed,
'phoneNumberConfirmed': phoneNumberConfirmed,
'twoFactorEnabled': twoFactorEnabled,
'securityStamp': securityStamp,
'type': type,
'recoveryToken': recoveryToken,
'refId': refId,
'refIdStr': refIdStr
};
getTypeName() => "AuthUserSession";
TypeContext? context = _ctx;
}
class CreateJwtResponse implements IConvertible
{
String? token;
ResponseStatus? responseStatus;
CreateJwtResponse({this.token,this.responseStatus});
CreateJwtResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
token = json['token'];
responseStatus = JsonConverters.fromJson(json['responseStatus'],'ResponseStatus',context!);
return this;
}
Map<String, dynamic> toJson() => {
'token': token,
'responseStatus': JsonConverters.toJson(responseStatus,'ResponseStatus',context!)
};
getTypeName() => "CreateJwtResponse";
TypeContext? context = _ctx;
}
class CreateJwt extends AuthUserSession implements IConvertible
{
DateTime? jwtExpiry;
CreateJwt({this.jwtExpiry});
CreateJwt.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
super.fromMap(json);
jwtExpiry = JsonConverters.fromJson(json['jwtExpiry'],'DateTime',context!);
return this;
}
Map<String, dynamic> toJson() => super.toJson()..addAll({
'jwtExpiry': JsonConverters.toJson(jwtExpiry,'DateTime',context!)
});
getTypeName() => "CreateJwt";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'test.servicestack.net', types: <String, TypeInfo> {
'IAuthTokens': TypeInfo(TypeOf.Interface),
'AuthUserSession': TypeInfo(TypeOf.Class, create:() => AuthUserSession()),
'List<IAuthTokens>': TypeInfo(TypeOf.Class, create:() => <IAuthTokens>[]),
'CreateJwtResponse': TypeInfo(TypeOf.Class, create:() => CreateJwtResponse()),
'CreateJwt': TypeInfo(TypeOf.Class, create:() => CreateJwt()),
});
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /jwt HTTP/1.1
Host: test.servicestack.net
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
jwtExpiry: 0001-01-01,
referrerUrl: String,
id: String,
userAuthId: String,
userAuthName: String,
userName: String,
twitterUserId: String,
twitterScreenName: String,
facebookUserId: String,
facebookUserName: String,
firstName: String,
lastName: String,
displayName: String,
company: String,
email: String,
primaryEmail: String,
phoneNumber: String,
birthDate: 0001-01-01,
birthDateRaw: String,
address: String,
address2: String,
city: String,
state: String,
country: String,
culture: String,
fullName: String,
gender: String,
language: String,
mailAddress: String,
nickname: String,
postalCode: String,
timeZone: String,
requestTokenSecret: String,
createdAt: 0001-01-01,
lastModified: 0001-01-01,
roles:
[
String
],
permissions:
[
String
],
isAuthenticated: False,
fromToken: False,
profileUrl: String,
sequence: String,
tag: 0,
authProvider: String,
providerOAuthAccess:
[
{
}
],
meta:
{
String: String
},
audiences:
[
String
],
scopes:
[
String
],
dns: String,
rsa: String,
sid: String,
hash: String,
homePhone: String,
mobilePhone: String,
webpage: String,
emailConfirmed: False,
phoneNumberConfirmed: False,
twoFactorEnabled: False,
securityStamp: String,
type: String,
recoveryToken: String,
refId: 0,
refIdStr: String
}
HTTP/1.1 200 OK Content-Type: text/jsv Content-Length: length { token: String, responseStatus: { errorCode: String, message: String, stackTrace: String, errors: [ { errorCode: String, fieldName: String, message: String, meta: { String: String } } ], meta: { String: String } } }