All Verbs | /session |
---|
using System;
using System.IO;
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
{
[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; }
}
}
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 } } }