Skip to content
This repository was archived by the owner on Oct 28, 2021. It is now read-only.

Commit 122e0a3

Browse files
committed
Use V2 message post with user auth, V3 with app auth.
1 parent 6674145 commit 122e0a3

File tree

2 files changed

+10
-2
lines changed

2 files changed

+10
-2
lines changed

src/SymphonyOSS.RestApiClient/Api/AgentApi/MessagesApi.cs

+9-1
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,15 @@ public MessagesApi(IAuthTokens authTokens, Configuration configuration, IApiExec
6161
public V2Message PostMessage(string sid, V2MessageSubmission message)
6262
{
6363
TraceSource.TraceEvent(TraceEventType.Verbose, 0, "Posting message to stream \"{0}\"", sid);
64-
return _apiExecutor.Execute(_messagesApi.V3StreamSidMessageCreatePost, sid, _authTokens.SessionToken, message, _authTokens.KeyManagerToken);
64+
if (_authTokens.KeyManagerToken == null)
65+
{
66+
// Use the endpoint that works with OBO authentication.
67+
return _apiExecutor.Execute(_messagesApi.V3StreamSidMessageCreatePost, sid, _authTokens.SessionToken, message, _authTokens.KeyManagerToken);
68+
}
69+
else
70+
{
71+
return _apiExecutor.Execute(_messagesApi.V2StreamSidMessageCreatePost, sid, _authTokens.SessionToken, _authTokens.KeyManagerToken, message);
72+
}
6573
}
6674

6775
/// <summary>

test/SymphonyOSS.RestApiClient.Tests/MessagesApiTest.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ public void EnsurePostMessage_uses_retry_strategy()
4848
const string sid = "sid";
4949
var message = new V2MessageSubmission();
5050
_messagesApi.PostMessage(sid, message);
51-
_apiExecutorMock.Verify(obj => obj.Execute(It.IsAny<Func<string, string, V2MessageSubmission, string, V2Message>>(), sid, "sessionToken", message, "keyManagerToken"));
51+
_apiExecutorMock.Verify(obj => obj.Execute(It.IsAny<Func<string, string, string, V2MessageSubmission, V2Message>>(), sid, "sessionToken", "keyManagerToken", message));
5252
}
5353

5454
[Fact]

0 commit comments

Comments
 (0)