All Verbs | /session |
---|
import java.math.*
import java.util.*
import net.servicestack.client.*
import com.google.gson.annotations.*
import com.google.gson.reflect.*
open class GetSession
{
}
open class GetSessionResponse
{
var result:CustomUserSession? = null
var unAuthInfo:UnAuthInfo? = null
var responseStatus:ResponseStatus? = null
}
open class CustomUserSession : AuthUserSession()
{
@DataMember
var customName:String? = null
@DataMember
var customInfo:String? = null
}
@DataContract
open class AuthUserSession : IMeta
{
@DataMember(Order=1)
var referrerUrl:String? = null
@DataMember(Order=2)
var id:String? = null
@DataMember(Order=3)
var userAuthId:String? = null
@DataMember(Order=4)
var userAuthName:String? = null
@DataMember(Order=5)
var userName:String? = null
@DataMember(Order=6)
var twitterUserId:String? = null
@DataMember(Order=7)
var twitterScreenName:String? = null
@DataMember(Order=8)
var facebookUserId:String? = null
@DataMember(Order=9)
var facebookUserName:String? = null
@DataMember(Order=10)
var firstName:String? = null
@DataMember(Order=11)
var lastName:String? = null
@DataMember(Order=12)
var displayName:String? = null
@DataMember(Order=13)
var company:String? = null
@DataMember(Order=14)
var email:String? = null
@DataMember(Order=15)
var primaryEmail:String? = null
@DataMember(Order=16)
var phoneNumber:String? = null
@DataMember(Order=17)
var birthDate:Date? = null
@DataMember(Order=18)
var birthDateRaw:String? = null
@DataMember(Order=19)
var address:String? = null
@DataMember(Order=20)
var address2:String? = null
@DataMember(Order=21)
var city:String? = null
@DataMember(Order=22)
var state:String? = null
@DataMember(Order=23)
var country:String? = null
@DataMember(Order=24)
var culture:String? = null
@DataMember(Order=25)
var fullName:String? = null
@DataMember(Order=26)
var gender:String? = null
@DataMember(Order=27)
var language:String? = null
@DataMember(Order=28)
var mailAddress:String? = null
@DataMember(Order=29)
var nickname:String? = null
@DataMember(Order=30)
var postalCode:String? = null
@DataMember(Order=31)
var timeZone:String? = null
@DataMember(Order=32)
var requestTokenSecret:String? = null
@DataMember(Order=33)
var createdAt:Date? = null
@DataMember(Order=34)
var lastModified:Date? = null
@DataMember(Order=35)
var roles:ArrayList<String> = ArrayList<String>()
@DataMember(Order=36)
var permissions:ArrayList<String> = ArrayList<String>()
@DataMember(Order=37)
var isAuthenticated:Boolean? = null
@DataMember(Order=38)
var fromToken:Boolean? = null
@DataMember(Order=39)
var profileUrl:String? = null
@DataMember(Order=40)
var sequence:String? = null
@DataMember(Order=41)
var tag:Long? = null
@DataMember(Order=42)
var authProvider:String? = null
@DataMember(Order=43)
var providerOAuthAccess:ArrayList<IAuthTokens> = ArrayList<IAuthTokens>()
@DataMember(Order=44)
var meta:HashMap<String,String> = HashMap<String,String>()
@DataMember(Order=45)
var audiences:ArrayList<String> = ArrayList<String>()
@DataMember(Order=46)
var scopes:ArrayList<String> = ArrayList<String>()
@DataMember(Order=47)
var dns:String? = null
@DataMember(Order=48)
var rsa:String? = null
@DataMember(Order=49)
var sid:String? = null
@DataMember(Order=50)
var hash:String? = null
@DataMember(Order=51)
var homePhone:String? = null
@DataMember(Order=52)
var mobilePhone:String? = null
@DataMember(Order=53)
var webpage:String? = null
@DataMember(Order=54)
var emailConfirmed:Boolean? = null
@DataMember(Order=55)
var phoneNumberConfirmed:Boolean? = null
@DataMember(Order=56)
var twoFactorEnabled:Boolean? = null
@DataMember(Order=57)
var securityStamp:String? = null
@DataMember(Order=58)
@SerializedName("type") var Type:String? = null
@DataMember(Order=59)
var recoveryToken:String? = null
@DataMember(Order=60)
var refId:Int? = null
@DataMember(Order=61)
var refIdStr:String? = null
}
open interface IAuthTokens
{
var provider:String?
var userId:String?
var accessToken:String?
var accessTokenSecret:String?
var refreshToken:String?
var refreshTokenExpiry:Date?
var requestToken:String?
var requestTokenSecret:String?
var items:HashMap<String,String>?
}
open class UnAuthInfo
{
var customInfo:String? = null
}
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 /session HTTP/1.1
Host: test.servicestack.net
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
}
HTTP/1.1 200 OK Content-Type: text/jsv Content-Length: length { result: { customName: String, customInfo: String, 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 }, unAuthInfo: { customInfo: String }, responseStatus: { errorCode: String, message: String, stackTrace: String, errors: [ { errorCode: String, fieldName: String, message: String, meta: { String: String } } ], meta: { String: String } } }