| GET | /test/keycloak-session |
|---|
export interface IAuthTokens
{
provider: string;
userId: string;
accessToken: string;
accessTokenSecret: string;
refreshToken: string;
refreshTokenExpiry?: string;
requestToken: string;
requestTokenSecret: string;
items: { [index: string]: string; };
}
// @DataContract
export class AuthUserSession implements IMeta
{
// @DataMember(Order=1)
public referrerUrl: string;
// @DataMember(Order=2)
public id: string;
// @DataMember(Order=3)
public userAuthId: string;
// @DataMember(Order=4)
public userAuthName: string;
// @DataMember(Order=5)
public userName: string;
// @DataMember(Order=6)
public twitterUserId: string;
// @DataMember(Order=7)
public twitterScreenName: string;
// @DataMember(Order=8)
public facebookUserId: string;
// @DataMember(Order=9)
public facebookUserName: string;
// @DataMember(Order=10)
public firstName: string;
// @DataMember(Order=11)
public lastName: string;
// @DataMember(Order=12)
public displayName: string;
// @DataMember(Order=13)
public company: string;
// @DataMember(Order=14)
public email: string;
// @DataMember(Order=15)
public primaryEmail: string;
// @DataMember(Order=16)
public phoneNumber: string;
// @DataMember(Order=17)
public birthDate?: string;
// @DataMember(Order=18)
public birthDateRaw: string;
// @DataMember(Order=19)
public address: string;
// @DataMember(Order=20)
public address2: string;
// @DataMember(Order=21)
public city: string;
// @DataMember(Order=22)
public state: string;
// @DataMember(Order=23)
public country: string;
// @DataMember(Order=24)
public culture: string;
// @DataMember(Order=25)
public fullName: string;
// @DataMember(Order=26)
public gender: string;
// @DataMember(Order=27)
public language: string;
// @DataMember(Order=28)
public mailAddress: string;
// @DataMember(Order=29)
public nickname: string;
// @DataMember(Order=30)
public postalCode: string;
// @DataMember(Order=31)
public timeZone: string;
// @DataMember(Order=32)
public requestTokenSecret: string;
// @DataMember(Order=33)
public createdAt: string;
// @DataMember(Order=34)
public lastModified: string;
// @DataMember(Order=35)
public roles: string[];
// @DataMember(Order=36)
public permissions: string[];
// @DataMember(Order=37)
public isAuthenticated: boolean;
// @DataMember(Order=38)
public fromToken: boolean;
// @DataMember(Order=39)
public profileUrl: string;
// @DataMember(Order=40)
public sequence: string;
// @DataMember(Order=41)
public tag: number;
// @DataMember(Order=42)
public authProvider: string;
// @DataMember(Order=43)
public providerOAuthAccess: IAuthTokens[];
// @DataMember(Order=44)
public meta: { [index: string]: string; };
// @DataMember(Order=45)
public audiences: string[];
// @DataMember(Order=46)
public scopes: string[];
// @DataMember(Order=47)
public dns: string;
// @DataMember(Order=48)
public rsa: string;
// @DataMember(Order=49)
public sid: string;
// @DataMember(Order=50)
public hash: string;
// @DataMember(Order=51)
public homePhone: string;
// @DataMember(Order=52)
public mobilePhone: string;
// @DataMember(Order=53)
public webpage: string;
// @DataMember(Order=54)
public emailConfirmed?: boolean;
// @DataMember(Order=55)
public phoneNumberConfirmed?: boolean;
// @DataMember(Order=56)
public twoFactorEnabled?: boolean;
// @DataMember(Order=57)
public securityStamp: string;
// @DataMember(Order=58)
public type: string;
// @DataMember(Order=59)
public recoveryToken: string;
// @DataMember(Order=60)
public refId?: number;
// @DataMember(Order=61)
public refIdStr: string;
public constructor(init?: Partial<AuthUserSession>) { (Object as any).assign(this, init); }
}
export class TvplSession extends AuthUserSession
{
public sessionId: string;
public uid: number;
public departmentId?: number;
public userId: number;
public constructor(init?: Partial<TvplSession>) { super(init); (Object as any).assign(this, init); }
}
// @ValidateRequest(Validator="IsAuthenticated")
export class GetKeycloakSession
{
public constructor(init?: Partial<GetKeycloakSession>) { (Object as any).assign(this, init); }
}
TypeScript GetKeycloakSession DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .other suffix or ?format=other
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
GET /test/keycloak-session HTTP/1.1 Host: etc-api.vsmlab.vn Accept: text/jsonl
HTTP/1.1 200 OK
Content-Type: text/jsonl
Content-Length: length
{Unable to show example output for type 'TvplSession' using the custom 'other' filter}One or more errors occurred. (Input string was not in a correct format.)