Skip to content

Commit fbaa88f

Browse files
committed
Update and decorate Auth DTOs to be DataContract/DataMember's so they can work with ProtoBuf
1 parent 9de71a6 commit fbaa88f

7 files changed

Lines changed: 106 additions & 116 deletions

File tree

src/ServiceStack.Common/Properties/AssemblyInfo.cs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,4 +37,7 @@
3737

3838
// CCB Custom
3939
[assembly: ContractNamespace("http://schemas.servicestack.net/types",
40-
ClrNamespace = "ServiceStack.Common.ServiceClient.Web")]
40+
ClrNamespace = "ServiceStack.Common.ServiceClient.Web")]
41+
42+
[assembly: ContractNamespace("http://schemas.servicestack.net/types",
43+
ClrNamespace = "ServiceStack.Common.ServiceModel")]
Lines changed: 50 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,69 @@
1-
using ServiceStack.ServiceInterface.ServiceModel;
1+
using System.Runtime.Serialization;
2+
using ServiceStack.ServiceInterface.ServiceModel;
23

34
namespace ServiceStack.Common.ServiceClient.Web
45
{
56
//Copy from ServiceStack.ServiceInterface.Auth to avoid deps
7+
[DataContract]
68
public class Auth
79
{
8-
public string provider { get; set; }
9-
public string State { get; set; }
10-
public string oauth_token { get; set; }
11-
public string oauth_verifier { get; set; }
12-
public string UserName { get; set; }
13-
public string Password { get; set; }
14-
public bool? RememberMe { get; set; }
10+
[DataMember(Order=1)] public string provider { get; set; }
11+
[DataMember(Order=2)] public string State { get; set; }
12+
[DataMember(Order=3)] public string oauth_token { get; set; }
13+
[DataMember(Order=4)] public string oauth_verifier { get; set; }
14+
[DataMember(Order=5)] public string UserName { get; set; }
15+
[DataMember(Order=6)] public string Password { get; set; }
16+
[DataMember(Order=7)] public bool? RememberMe { get; set; }
17+
[DataMember(Order=8)] public string Continue { get; set; }
18+
// Thise are used for digest auth
19+
[DataMember(Order=9)] public string nonce { get; set; }
20+
[DataMember(Order=10)] public string uri { get; set; }
21+
[DataMember(Order=11)] public string response { get; set; }
22+
[DataMember(Order=12)] public string qop { get; set; }
23+
[DataMember(Order=13)] public string nc { get; set; }
24+
[DataMember(Order=14)] public string cnonce { get; set; }
1525
}
1626

27+
[DataContract]
1728
public class AuthResponse
1829
{
1930
public AuthResponse()
2031
{
2132
this.ResponseStatus = new ResponseStatus();
2233
}
2334

24-
public string SessionId { get; set; }
35+
[DataMember(Order=1)] public string SessionId { get; set; }
36+
[DataMember(Order=2)] public string UserName { get; set; }
37+
[DataMember(Order=3)] public string ReferrerUrl { get; set; }
38+
[DataMember(Order=4)] public ResponseStatus ResponseStatus { get; set; }
39+
}
40+
41+
42+
[DataContract]
43+
public class Registration
44+
{
45+
[DataMember(Order = 1)] public string UserName { get; set; }
46+
[DataMember(Order = 2)] public string FirstName { get; set; }
47+
[DataMember(Order = 3)] public string LastName { get; set; }
48+
[DataMember(Order = 4)] public string DisplayName { get; set; }
49+
[DataMember(Order = 5)] public string Email { get; set; }
50+
[DataMember(Order = 6)] public string Password { get; set; }
51+
[DataMember(Order = 7)] public bool? AutoLogin { get; set; }
52+
[DataMember(Order = 8)] public string Continue { get; set; }
53+
}
2554

26-
public string UserName { get; set; }
55+
[DataContract]
56+
public class RegistrationResponse
57+
{
58+
public RegistrationResponse()
59+
{
60+
this.ResponseStatus = new ResponseStatus();
61+
}
2762

28-
public ResponseStatus ResponseStatus { get; set; }
63+
[DataMember(Order = 1)] public string UserId { get; set; }
64+
[DataMember(Order = 2)] public string SessionId { get; set; }
65+
[DataMember(Order = 3)] public string UserName { get; set; }
66+
[DataMember(Order = 4)] public string ReferrerUrl { get; set; }
67+
[DataMember(Order = 5)] public ResponseStatus ResponseStatus { get; set; }
2968
}
3069
}

src/ServiceStack.ServiceInterface/Auth/AuthProvider.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -159,6 +159,7 @@ protected static bool LoginMatchesSession(IAuthSession session, string userName)
159159
}
160160

161161
public abstract bool IsAuthorized(IAuthSession session, IOAuthTokens tokens, Auth request = null);
162+
162163
public abstract object Authenticate(IServiceBase authService, IAuthSession session, Auth request);
163164

164165
public virtual void OnFailedAuthentication(IAuthSession session, IHttpRequest httpReq, IHttpResponse httpRes)

src/ServiceStack.ServiceInterface/Auth/AuthService.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@ public class Auth
3131
[DataMember(Order=6)] public string Password { get; set; }
3232
[DataMember(Order=7)] public bool? RememberMe { get; set; }
3333
[DataMember(Order=8)] public string Continue { get; set; }
34-
3534
// Thise are used for digest auth
3635
[DataMember(Order=9)] public string nonce { get; set; }
3736
[DataMember(Order=10)] public string uri { get; set; }

src/ServiceStack.ServiceInterface/Auth/AuthUserSession.cs

Lines changed: 35 additions & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -1,81 +1,51 @@
11
using System;
22
using System.Collections.Generic;
33
using System.Linq;
4+
using System.Runtime.Serialization;
45

56
namespace ServiceStack.ServiceInterface.Auth
67
{
8+
[DataContract]
79
public class AuthUserSession : IAuthSession
810
{
911
public AuthUserSession()
1012
{
1113
this.ProviderOAuthAccess = new List<IOAuthTokens>();
1214
}
1315

14-
public string ReferrerUrl { get; set; }
15-
16-
public string Id { get; set; }
17-
18-
public string UserAuthId { get; set; }
19-
20-
public string UserAuthName { get; set; }
21-
22-
public string UserName { get; set; }
23-
24-
public string TwitterUserId { get; set; }
25-
26-
public string TwitterScreenName { get; set; }
27-
28-
public string FacebookUserId { get; set; }
29-
30-
public string FacebookUserName { get; set; }
31-
32-
public string FirstName { get; set; }
33-
34-
public string LastName { get; set; }
35-
36-
public string DisplayName { get; set; }
37-
38-
public string Email { get; set; }
39-
40-
public string PrimaryEmail { get; set; }
41-
42-
public DateTime? BirthDate { get; set; }
43-
44-
public string BirthDateRaw { get; set; }
45-
46-
public string Country { get; set; }
47-
48-
public string Culture { get; set; }
49-
50-
public string FullName { get; set; }
51-
52-
public string Gender { get; set; }
53-
54-
public string Language { get; set; }
55-
56-
public string MailAddress { get; set; }
57-
58-
public string Nickname { get; set; }
59-
60-
public string PostalCode { get; set; }
61-
62-
public string TimeZone { get; set; }
63-
64-
public string RequestTokenSecret { get; set; }
65-
66-
public DateTime CreatedAt { get; set; }
67-
68-
public DateTime LastModified { get; set; }
69-
70-
public List<IOAuthTokens> ProviderOAuthAccess { get; set; }
71-
72-
public List<string> Roles { get; set; }
73-
74-
public List<string> Permissions { get; set; }
75-
76-
public virtual bool IsAuthenticated { get; set; }
77-
78-
public virtual string Sequence { get; set; }
16+
[DataMember(Order = 01)] public string ReferrerUrl { get; set; }
17+
[DataMember(Order = 02)] public string Id { get; set; }
18+
[DataMember(Order = 03)] public string UserAuthId { get; set; }
19+
[DataMember(Order = 04)] public string UserAuthName { get; set; }
20+
[DataMember(Order = 05)] public string UserName { get; set; }
21+
[DataMember(Order = 06)] public string TwitterUserId { get; set; }
22+
[DataMember(Order = 07)] public string TwitterScreenName { get; set; }
23+
[DataMember(Order = 08)] public string FacebookUserId { get; set; }
24+
[DataMember(Order = 09)] public string FacebookUserName { get; set; }
25+
[DataMember(Order = 10)] public string FirstName { get; set; }
26+
[DataMember(Order = 11)] public string LastName { get; set; }
27+
[DataMember(Order = 12)] public string DisplayName { get; set; }
28+
[DataMember(Order = 13)] public string Email { get; set; }
29+
[DataMember(Order = 14)] public string PrimaryEmail { get; set; }
30+
[DataMember(Order = 15)] public DateTime? BirthDate { get; set; }
31+
[DataMember(Order = 16)] public string BirthDateRaw { get; set; }
32+
[DataMember(Order = 17)] public string Country { get; set; }
33+
[DataMember(Order = 18)] public string Culture { get; set; }
34+
[DataMember(Order = 19)] public string FullName { get; set; }
35+
[DataMember(Order = 20)] public string Gender { get; set; }
36+
[DataMember(Order = 21)] public string Language { get; set; }
37+
[DataMember(Order = 22)] public string MailAddress { get; set; }
38+
[DataMember(Order = 23)] public string Nickname { get; set; }
39+
[DataMember(Order = 24)] public string PostalCode { get; set; }
40+
[DataMember(Order = 25)] public string TimeZone { get; set; }
41+
[DataMember(Order = 26)] public string RequestTokenSecret { get; set; }
42+
[DataMember(Order = 27)] public DateTime CreatedAt { get; set; }
43+
[DataMember(Order = 28)] public DateTime LastModified { get; set; }
44+
[DataMember(Order = 29)] public List<IOAuthTokens> ProviderOAuthAccess { get; set; }
45+
[DataMember(Order = 30)] public List<string> Roles { get; set; }
46+
[DataMember(Order = 31)] public List<string> Permissions { get; set; }
47+
[DataMember(Order = 32)] public virtual bool IsAuthenticated { get; set; }
48+
[DataMember(Order = 33)] public virtual string Sequence { get; set; }
7949

8050
public virtual bool IsAuthorized(string provider)
8151
{

src/ServiceStack.ServiceInterface/Auth/RegistrationService.cs

Lines changed: 13 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -14,29 +14,14 @@ namespace ServiceStack.ServiceInterface.Auth
1414
[DataContract]
1515
public class Registration
1616
{
17-
[DataMember(Order = 1)]
18-
public string UserName { get; set; }
19-
20-
[DataMember(Order = 2)]
21-
public string FirstName { get; set; }
22-
23-
[DataMember(Order = 3)]
24-
public string LastName { get; set; }
25-
26-
[DataMember(Order = 4)]
27-
public string DisplayName { get; set; }
28-
29-
[DataMember(Order = 5)]
30-
public string Email { get; set; }
31-
32-
[DataMember(Order = 6)]
33-
public string Password { get; set; }
34-
35-
[DataMember(Order = 7)]
36-
public bool? AutoLogin { get; set; }
37-
38-
[DataMember(Order = 8)]
39-
public string Continue { get; set; }
17+
[DataMember(Order = 1)] public string UserName { get; set; }
18+
[DataMember(Order = 2)] public string FirstName { get; set; }
19+
[DataMember(Order = 3)] public string LastName { get; set; }
20+
[DataMember(Order = 4)] public string DisplayName { get; set; }
21+
[DataMember(Order = 5)] public string Email { get; set; }
22+
[DataMember(Order = 6)] public string Password { get; set; }
23+
[DataMember(Order = 7)] public bool? AutoLogin { get; set; }
24+
[DataMember(Order = 8)] public string Continue { get; set; }
4025
}
4126

4227
[DataContract]
@@ -47,20 +32,11 @@ public RegistrationResponse()
4732
this.ResponseStatus = new ResponseStatus();
4833
}
4934

50-
[DataMember(Order = 1)]
51-
public string UserId { get; set; }
52-
53-
[DataMember(Order = 2)]
54-
public string SessionId { get; set; }
55-
56-
[DataMember(Order = 3)]
57-
public string UserName { get; set; }
58-
59-
[DataMember(Order = 4)]
60-
public string ReferrerUrl { get; set; }
61-
62-
[DataMember(Order = 5)]
63-
public ResponseStatus ResponseStatus { get; set; }
35+
[DataMember(Order = 1)] public string UserId { get; set; }
36+
[DataMember(Order = 2)] public string SessionId { get; set; }
37+
[DataMember(Order = 3)] public string UserName { get; set; }
38+
[DataMember(Order = 4)] public string ReferrerUrl { get; set; }
39+
[DataMember(Order = 5)] public ResponseStatus ResponseStatus { get; set; }
6440
}
6541

6642
public class FullRegistrationValidator : RegistrationValidator

tests/RazorRockstars.Web/RazorRockstars.Web.csproj

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,9 @@
110110
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
111111
</Content>
112112
<Content Include="README.txt" />
113-
<Content Include="Web.config" />
113+
<Content Include="Web.config">
114+
<SubType>Designer</SubType>
115+
</Content>
114116
<Content Include="TypedModelNoController.cshtml" />
115117
<Content Include="Views\Rockstars.cshtml" />
116118
<Content Include="Views\Rockstars2.cshtml" />

0 commit comments

Comments
 (0)