diff options
author | Melanie | 2009-09-04 07:03:43 +0100 |
---|---|---|
committer | Melanie | 2009-09-04 07:03:43 +0100 |
commit | 11700ba4a4e35cf7512f7f6e8b9b8e54e812f574 (patch) | |
tree | 683c464db85a52aa0b176c8f2d9ec91df9f94c1d /OpenSim/Services | |
parent | More work on new authentication service (diff) | |
download | opensim-SC-11700ba4a4e35cf7512f7f6e8b9b8e54e812f574.zip opensim-SC-11700ba4a4e35cf7512f7f6e8b9b8e54e812f574.tar.gz opensim-SC-11700ba4a4e35cf7512f7f6e8b9b8e54e812f574.tar.bz2 opensim-SC-11700ba4a4e35cf7512f7f6e8b9b8e54e812f574.tar.xz |
Implement plain password authentication partway. Tested, but no user
functionality yet.
Diffstat (limited to 'OpenSim/Services')
4 files changed, 35 insertions, 24 deletions
diff --git a/OpenSim/Services/AuthenticationService/AuthenticationServiceBase.cs b/OpenSim/Services/AuthenticationService/AuthenticationServiceBase.cs index 200268b..dab0598 100644 --- a/OpenSim/Services/AuthenticationService/AuthenticationServiceBase.cs +++ b/OpenSim/Services/AuthenticationService/AuthenticationServiceBase.cs | |||
@@ -95,6 +95,16 @@ namespace OpenSim.Services.AuthenticationService | |||
95 | return new byte[0]; | 95 | return new byte[0]; |
96 | } | 96 | } |
97 | 97 | ||
98 | public bool Verify(UUID principalID, string token, int lifetime) | ||
99 | { | ||
100 | return false; | ||
101 | } | ||
102 | |||
103 | public bool VerifyEncrypted(byte[] cyphertext, byte[] key) | ||
104 | { | ||
105 | return false; | ||
106 | } | ||
107 | |||
98 | public virtual bool Release(UUID principalID, string token) | 108 | public virtual bool Release(UUID principalID, string token) |
99 | { | 109 | { |
100 | return false; | 110 | return false; |
@@ -104,5 +114,10 @@ namespace OpenSim.Services.AuthenticationService | |||
104 | { | 114 | { |
105 | return false; | 115 | return false; |
106 | } | 116 | } |
117 | |||
118 | protected string GetToken(UUID principalID, int lifetime) | ||
119 | { | ||
120 | return "OK"; | ||
121 | } | ||
107 | } | 122 | } |
108 | } | 123 | } |
diff --git a/OpenSim/Services/AuthenticationService/PasswordAuthenticationService.cs b/OpenSim/Services/AuthenticationService/PasswordAuthenticationService.cs index 83ce0d0..7fdbbf6 100644 --- a/OpenSim/Services/AuthenticationService/PasswordAuthenticationService.cs +++ b/OpenSim/Services/AuthenticationService/PasswordAuthenticationService.cs | |||
@@ -56,8 +56,24 @@ namespace OpenSim.Services.AuthenticationService | |||
56 | { | 56 | { |
57 | } | 57 | } |
58 | 58 | ||
59 | public string Authenticate(UUID principalID, string password) | 59 | public string Authenticate(UUID principalID, string password, int lifetime) |
60 | { | 60 | { |
61 | AuthenticationData data = m_Database.Get(principalID); | ||
62 | |||
63 | if (!data.Data.ContainsKey("passwordHash") || | ||
64 | !data.Data.ContainsKey("passwordSalt")) | ||
65 | { | ||
66 | return String.Empty; | ||
67 | } | ||
68 | |||
69 | string hashed = Util.Md5Hash(Util.Md5Hash(password) + ":" + | ||
70 | data.Data["passwordSalt"].ToString()); | ||
71 | |||
72 | if (data.Data["passwordHash"].ToString() == hashed) | ||
73 | { | ||
74 | return GetToken(principalID, lifetime); | ||
75 | } | ||
76 | |||
61 | return String.Empty; | 77 | return String.Empty; |
62 | } | 78 | } |
63 | 79 | ||
@@ -65,15 +81,5 @@ namespace OpenSim.Services.AuthenticationService | |||
65 | { | 81 | { |
66 | return new byte[0]; | 82 | return new byte[0]; |
67 | } | 83 | } |
68 | |||
69 | public bool Verify(UUID principalID, string token) | ||
70 | { | ||
71 | return false; | ||
72 | } | ||
73 | |||
74 | public bool VerifyEncrypted(byte[] cyphertext, byte[] key) | ||
75 | { | ||
76 | return false; | ||
77 | } | ||
78 | } | 84 | } |
79 | } | 85 | } |
diff --git a/OpenSim/Services/AuthenticationService/WebkeyAuthenticationService.cs b/OpenSim/Services/AuthenticationService/WebkeyAuthenticationService.cs index af55df0..0118c91 100644 --- a/OpenSim/Services/AuthenticationService/WebkeyAuthenticationService.cs +++ b/OpenSim/Services/AuthenticationService/WebkeyAuthenticationService.cs | |||
@@ -52,7 +52,7 @@ namespace OpenSim.Services.AuthenticationService | |||
52 | { | 52 | { |
53 | } | 53 | } |
54 | 54 | ||
55 | public string Authenticate(UUID principalID, string password) | 55 | public string Authenticate(UUID principalID, string password, int lifetime) |
56 | { | 56 | { |
57 | return String.Empty; | 57 | return String.Empty; |
58 | } | 58 | } |
@@ -61,15 +61,5 @@ namespace OpenSim.Services.AuthenticationService | |||
61 | { | 61 | { |
62 | return new byte[0]; | 62 | return new byte[0]; |
63 | } | 63 | } |
64 | |||
65 | public bool Verify(UUID principalID, string token) | ||
66 | { | ||
67 | return false; | ||
68 | } | ||
69 | |||
70 | public bool VerifyEncrypted(byte[] cyphertext, byte[] key) | ||
71 | { | ||
72 | return false; | ||
73 | } | ||
74 | } | 64 | } |
75 | } | 65 | } |
diff --git a/OpenSim/Services/Interfaces/IAuthenticationService.cs b/OpenSim/Services/Interfaces/IAuthenticationService.cs index f042c93..b448a14 100644 --- a/OpenSim/Services/Interfaces/IAuthenticationService.cs +++ b/OpenSim/Services/Interfaces/IAuthenticationService.cs | |||
@@ -70,7 +70,7 @@ namespace OpenSim.Services.Interfaces | |||
70 | // the public key of the peer, which the connector must have | 70 | // the public key of the peer, which the connector must have |
71 | // obtained using a remote GetPublicKey call. | 71 | // obtained using a remote GetPublicKey call. |
72 | // | 72 | // |
73 | string Authenticate(UUID principalID, string password); | 73 | string Authenticate(UUID principalID, string password, int lifetime); |
74 | byte[] AuthenticateEncrypted(byte[] cyphertext, byte[] key); | 74 | byte[] AuthenticateEncrypted(byte[] cyphertext, byte[] key); |
75 | 75 | ||
76 | ////////////////////////////////////////////////////// | 76 | ////////////////////////////////////////////////////// |
@@ -85,7 +85,7 @@ namespace OpenSim.Services.Interfaces | |||
85 | // must be used to refresh. Unencrypted verification is still | 85 | // must be used to refresh. Unencrypted verification is still |
86 | // performed, but doesn't refresh token lifetime. | 86 | // performed, but doesn't refresh token lifetime. |
87 | // | 87 | // |
88 | bool Verify(UUID principalID, string token); | 88 | bool Verify(UUID principalID, string token, int lifetime); |
89 | bool VerifyEncrypted(byte[] cyphertext, byte[] key); | 89 | bool VerifyEncrypted(byte[] cyphertext, byte[] key); |
90 | 90 | ||
91 | ////////////////////////////////////////////////////// | 91 | ////////////////////////////////////////////////////// |