示例#1
0
        private async Task <HubConnection> SetUpHubConnection(ConnectionString connectionString, string hubUrl, string nameIdentifier)
        {
            var accessTokensService = new AccessTokensService();
            var accessToken         = accessTokensService.GenerateAccessToken(connectionString, hubUrl, nameIdentifier);

            var hubConnection = new HubConnectionBuilder()
                                .WithUrl(hubUrl, options =>
            {
                options.AccessTokenProvider = () => Task.FromResult(accessToken);
            })
                                .Build();

            await hubConnection.StartAsync();

            return(hubConnection);
        }
示例#2
0
        private async Task SetUpGroupAsync(string userId, string groupId)
        {
            var endpoint = ConnectionString.Endpoint;
            var url      = $"{endpoint.TrimEnd('/')}/api/v1/hubs/{HubName}/groups/{groupId}/users/{userId}";

            var accessTokensService = new AccessTokensService();
            var accessToken         = accessTokensService.GenerateAccessToken(ConnectionString, url);

            var httpClient = new HttpClient();
            var mimeType   = "application/json";

            httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue(mimeType));
            httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", accessToken);
            var response = await httpClient.PutAsync(url, new StringContent("{}", Encoding.UTF8, mimeType));

            response.EnsureSuccessStatusCode();
        }
 public void SetUp()
 {
     _accessTokensService = new AccessTokensService();
 }