Test

<back to all web services

GetSession

The following routes are available for this service:
All Verbs/session
using System;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using Test.ServiceInterface;
using ServiceStack.Auth;

namespace ServiceStack
{
    [DataContract]
    public partial class AuthUserSession
        : IMeta
    {
        public AuthUserSession()
        {
            Roles = new List<string>{};
            Permissions = new List<string>{};
            ProviderOAuthAccess = new List<IAuthTokens>{};
            Meta = new Dictionary<string, string>{};
            Audiences = new List<string>{};
            Scopes = new List<string>{};
        }

        [DataMember(Order=1)]
        public virtual string ReferrerUrl { get; set; }

        [DataMember(Order=2)]
        public virtual string Id { get; set; }

        [DataMember(Order=3)]
        public virtual string UserAuthId { get; set; }

        [DataMember(Order=4)]
        public virtual string UserAuthName { get; set; }

        [DataMember(Order=5)]
        public virtual string UserName { get; set; }

        [DataMember(Order=6)]
        public virtual string TwitterUserId { get; set; }

        [DataMember(Order=7)]
        public virtual string TwitterScreenName { get; set; }

        [DataMember(Order=8)]
        public virtual string FacebookUserId { get; set; }

        [DataMember(Order=9)]
        public virtual string FacebookUserName { get; set; }

        [DataMember(Order=10)]
        public virtual string FirstName { get; set; }

        [DataMember(Order=11)]
        public virtual string LastName { get; set; }

        [DataMember(Order=12)]
        public virtual string DisplayName { get; set; }

        [DataMember(Order=13)]
        public virtual string Company { get; set; }

        [DataMember(Order=14)]
        public virtual string Email { get; set; }

        [DataMember(Order=15)]
        public virtual string PrimaryEmail { get; set; }

        [DataMember(Order=16)]
        public virtual string PhoneNumber { get; set; }

        [DataMember(Order=17)]
        public virtual DateTime? BirthDate { get; set; }

        [DataMember(Order=18)]
        public virtual string BirthDateRaw { get; set; }

        [DataMember(Order=19)]
        public virtual string Address { get; set; }

        [DataMember(Order=20)]
        public virtual string Address2 { get; set; }

        [DataMember(Order=21)]
        public virtual string City { get; set; }

        [DataMember(Order=22)]
        public virtual string State { get; set; }

        [DataMember(Order=23)]
        public virtual string Country { get; set; }

        [DataMember(Order=24)]
        public virtual string Culture { get; set; }

        [DataMember(Order=25)]
        public virtual string FullName { get; set; }

        [DataMember(Order=26)]
        public virtual string Gender { get; set; }

        [DataMember(Order=27)]
        public virtual string Language { get; set; }

        [DataMember(Order=28)]
        public virtual string MailAddress { get; set; }

        [DataMember(Order=29)]
        public virtual string Nickname { get; set; }

        [DataMember(Order=30)]
        public virtual string PostalCode { get; set; }

        [DataMember(Order=31)]
        public virtual string TimeZone { get; set; }

        [DataMember(Order=32)]
        public virtual string RequestTokenSecret { get; set; }

        [DataMember(Order=33)]
        public virtual DateTime CreatedAt { get; set; }

        [DataMember(Order=34)]
        public virtual DateTime LastModified { get; set; }

        [DataMember(Order=35)]
        public virtual List<string> Roles { get; set; }

        [DataMember(Order=36)]
        public virtual List<string> Permissions { get; set; }

        [DataMember(Order=37)]
        public virtual bool IsAuthenticated { get; set; }

        [DataMember(Order=38)]
        public virtual bool FromToken { get; set; }

        [DataMember(Order=39)]
        public virtual string ProfileUrl { get; set; }

        [DataMember(Order=40)]
        public virtual string Sequence { get; set; }

        [DataMember(Order=41)]
        public virtual long Tag { get; set; }

        [DataMember(Order=42)]
        public virtual string AuthProvider { get; set; }

        [DataMember(Order=43)]
        public virtual List<IAuthTokens> ProviderOAuthAccess { get; set; }

        [DataMember(Order=44)]
        public virtual Dictionary<string, string> Meta { get; set; }

        [DataMember(Order=45)]
        public virtual List<string> Audiences { get; set; }

        [DataMember(Order=46)]
        public virtual List<string> Scopes { get; set; }

        [DataMember(Order=47)]
        public virtual string Dns { get; set; }

        [DataMember(Order=48)]
        public virtual string Rsa { get; set; }

        [DataMember(Order=49)]
        public virtual string Sid { get; set; }

        [DataMember(Order=50)]
        public virtual string Hash { get; set; }

        [DataMember(Order=51)]
        public virtual string HomePhone { get; set; }

        [DataMember(Order=52)]
        public virtual string MobilePhone { get; set; }

        [DataMember(Order=53)]
        public virtual string Webpage { get; set; }

        [DataMember(Order=54)]
        public virtual bool? EmailConfirmed { get; set; }

        [DataMember(Order=55)]
        public virtual bool? PhoneNumberConfirmed { get; set; }

        [DataMember(Order=56)]
        public virtual bool? TwoFactorEnabled { get; set; }

        [DataMember(Order=57)]
        public virtual string SecurityStamp { get; set; }

        [DataMember(Order=58)]
        public virtual string Type { get; set; }

        [DataMember(Order=59)]
        public virtual string RecoveryToken { get; set; }

        [DataMember(Order=60)]
        public virtual int? RefId { get; set; }

        [DataMember(Order=61)]
        public virtual string RefIdStr { get; set; }
    }

}

namespace ServiceStack.Auth
{
    public partial interface IAuthTokens
    {
        string Provider { get; set; }
        string UserId { get; set; }
        string AccessToken { get; set; }
        string AccessTokenSecret { get; set; }
        string RefreshToken { get; set; }
        DateTime? RefreshTokenExpiry { get; set; }
        string RequestToken { get; set; }
        string RequestTokenSecret { get; set; }
        Dictionary<string, string> Items { get; set; }
    }

}

namespace Test.ServiceInterface
{
    public partial class CustomUserSession
        : AuthUserSession
    {
        [DataMember]
        public virtual string CustomName { get; set; }

        [DataMember]
        public virtual string CustomInfo { get; set; }
    }

    public partial class GetSession
    {
    }

    public partial class GetSessionResponse
    {
        public virtual CustomUserSession Result { get; set; }
        public virtual UnAuthInfo UnAuthInfo { get; set; }
        public virtual ResponseStatus ResponseStatus { get; set; }
    }

    public partial class UnAuthInfo
    {
        public virtual string CustomInfo { get; set; }
    }

}

C# GetSession DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv

HTTP + 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
		}
	}
}