コード例 #1
0
        async Task <HttpClient> InitHttpClient(HttpClient httpClient)
        {
            httpClient.DefaultRequestHeaders.Add("x-api-key", ApiKey);
            var token = await AuthApi.Authenticate(httpClient, BaseUrl, credentials);

            httpClient.DefaultRequestHeaders.Add("Authorization", "Bearer " + token);
            return(httpClient);
        }
        protected override async Task StartImplAsync(UpdateResult result, CancellationToken cancellationToken)
        {
            httpClient.DefaultRequestHeaders.Remove("x-api-key");
            httpClient.DefaultRequestHeaders.Add("x-api-key", ApiKey);

            var token = await AuthApi.Authenticate(httpClient, ApiBaseUrl, new AuthApi.PasswordGrantTypeCredentials()
            {
                ClientId     = ClientId,
                ClientSecret = ClientSecret,
                UserName     = UserName,
                Password     = Password,
            }); // TODO: missing cancellationToken as a parameter here

            httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);

            var initResponse = await PostAsync("/workspace/v3/initialize-workspace", null, cancellationToken);

            bayeuxClient = new BayeuxClient(new HttpLongPollingTransportOptions()
            {
                HttpClient = httpClient,
                Uri        = ApiBaseUrl + "/workspace/v3/notifications"
            });

            bayeuxClient.EventReceived += (e, args) =>
            {
                Debug.WriteLine($"Event received on channel {args.Channel} with data\n{args.Data}");
                UpdateTree(result2 =>
                           result2.MessageToChildren = args);
            };

            bayeuxClient.ConnectionStateChanged += (e, args) =>
                                                   Debug.WriteLine($"Bayeux connection state changed to {args.ConnectionState}");

            await bayeuxClient.Start(cancellationToken);

            await bayeuxClient.Subscribe("/**", cancellationToken);
        }
コード例 #3
0
ファイル: AuthService.cs プロジェクト: tcape/stc_game
 // creates an http request with user credentials and attempts to authenticate the user
 public void LoginUserWithEmailAndPassword(string email, string password)
 {
     authRequest = new AuthReq(email, password);
     auth.Authenticate(authRequest).completed += AuthenticationCallback;
 }