Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions src/stream-net-tests/ClientTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -109,9 +109,9 @@ public void TestActivityPartialUpdateArgumentValidation()
}

[Test]
public void TestSessionToken()
public void TestToken()
{
var tokenString = _client.CreateUserSessionToken("user");
var tokenString = _client.CreateUserToken("user");
var tok = new JWTSecurityToken(tokenString);
object actualUserID;
Assert.True(tok.Payload.TryGetValue("user_id", out actualUserID));
Expand All @@ -122,7 +122,7 @@ public void TestSessionToken()
{"client","dotnet"},
{"testing", true}
};
tokenString = _client.CreateUserSessionToken("user2", extra);
tokenString = _client.CreateUserToken("user2", extra);
tok = new JWTSecurityToken(tokenString);

object data;
Expand Down
2 changes: 1 addition & 1 deletion src/stream-net/IStreamClient.cs
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,6 @@ public interface IStreamClient
Task ActivityPartialUpdate(string id = null, ForeignIDTime foreignIDTime = null, GenericData set = null, IEnumerable<string> unset = null);
IStreamFeed Feed(string feedSlug, string userId);

string CreateUserSessionToken(string userId, IDictionary<string, object> extraData = null);
string CreateUserToken(string userId, IDictionary<string, object> extraData = null);
}
}
12 changes: 6 additions & 6 deletions src/stream-net/StreamClient.cs
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ public class StreamClient : IStreamClient

readonly RestClient _client;
readonly StreamClientOptions _options;
readonly IStreamClientToken _streamClientToken;
readonly IToken _streamClientToken;
readonly string _apiKey;

public StreamClient(string apiKey, string apiSecretOrToken, StreamClientOptions options = null)
Expand All @@ -40,12 +40,12 @@ public StreamClient(string apiKey, string apiSecretOrToken, StreamClientOptions
throw new ArgumentNullException("apiSecret", "Must have an apiSecret or user session token");

_apiKey = apiKey;
_streamClientToken = StreamClientToken.For(apiSecretOrToken);
_streamClientToken = TokenFactory.For(apiSecretOrToken);
_options = options ?? StreamClientOptions.Default;
_client = new RestClient(GetBaseUrl(_options.Location), TimeSpan.FromMilliseconds(_options.Timeout));
}

private StreamClient(string apiKey, IStreamClientToken streamClientToken, RestClient client, StreamClientOptions options = null)
private StreamClient(string apiKey, IToken streamClientToken, RestClient client, StreamClientOptions options = null)
{
if (string.IsNullOrWhiteSpace(apiKey))
throw new ArgumentNullException("apiKey", "Must have an apiKey");
Expand Down Expand Up @@ -93,9 +93,9 @@ public async Task ActivityPartialUpdate(string id = null, ForeignIDTime foreignI
await this.Batch.ActivitiesPartialUpdate(new ActivityPartialUpdateRequestObject[] { update });
}

public string CreateUserSessionToken(string userId, IDictionary<string, object> extraData = null)
public string CreateUserToken(string userId, IDictionary<string, object> extraData = null)
{
return _streamClientToken.CreateUserSessionToken(userId, extraData);
return _streamClientToken.CreateUserToken(userId, extraData);
}

/// <summary>
Expand Down Expand Up @@ -174,7 +174,7 @@ private RestRequest BuildRestRequest(string fullPath, HttpMethod method, string
var request = new RestRequest(fullPath, method);
request.AddHeader("Authorization", JWToken("*", userID));
request.AddHeader("Stream-Auth-Type", "jwt");
request.AddHeader("X-Stream-Client", "stream-net-"+Version);
request.AddHeader("X-Stream-Client", "stream-net-" + Version);
request.AddQueryParameter("api_key", _apiKey);
return request;
}
Expand Down
26 changes: 13 additions & 13 deletions src/stream-net/StreamClientToken.cs
Original file line number Diff line number Diff line change
Expand Up @@ -6,35 +6,35 @@

namespace Stream
{
public interface IStreamClientToken
public interface IToken
{
string CreateUserSessionToken(string userId, IDictionary<string, object> extraData = null);
string CreateUserToken(string userId, IDictionary<string, object> extraData = null);

string For(object payload);
}

public static class StreamClientToken
public static class TokenFactory
{
public static IStreamClientToken For(string apiSecretOrToken)
public static IToken For(string apiSecretOrToken)
{
return apiSecretOrToken.Contains(".")
? (IStreamClientToken) new StreamApiSessionToken(apiSecretOrToken)
: (IStreamClientToken) new StreamApiSecret(apiSecretOrToken);
? (IToken)new Token(apiSecretOrToken)
: (IToken)new Secret(apiSecretOrToken);
}
}

public class StreamApiSessionToken : IStreamClientToken
public class Token : IToken
{
private readonly string _sessionToken;

public StreamApiSessionToken(string sessionToken)
public Token(string sessionToken)
{
_sessionToken = sessionToken;
}

public string CreateUserSessionToken(string userId, IDictionary<string, object> extraData = null)
public string CreateUserToken(string userId, IDictionary<string, object> extraData = null)
{
throw new InvalidOperationException("Clients connecting using a user session token cannot create additional user session tokens");
throw new InvalidOperationException("Clients connecting using a user token cannot create additional user tokens");
}

public string For(object payload)
Expand All @@ -43,11 +43,11 @@ public string For(object payload)
}
}

public class StreamApiSecret : IStreamClientToken
public class Secret : IToken
{
private readonly string _apiSecret;

public StreamApiSecret(string apiSecret)
public Secret(string apiSecret)
{
_apiSecret = apiSecret;
}
Expand All @@ -60,7 +60,7 @@ private static string Base64UrlEncode(byte[] input)
.Trim('=');
}

public string CreateUserSessionToken(string userId, IDictionary<string, object> extraData = null)
public string CreateUserToken(string userId, IDictionary<string, object> extraData = null)
{
var payload = new Dictionary<string, object>
{
Expand Down