public void Should_start_a_new_stopwatch() { var stopwatchFactory = Substitute.For <IStopwatchFactory>(); _ = new AccessTokenFactory(stopwatchFactory); stopwatchFactory.Received(1).Start(); }
public void SetupTests() { SecurityParameters securityParams = new SecurityParameters("mysignveryverylongsecuritykeysothatIdontgetexception", SecurityAlgorithms.HmacSha256, SecurityAlgorithms.HmacSha256Signature); Mock <IUserTokensDao> userTokenDao = new Mock <IUserTokensDao>(); accessTokenFactory = new AccessTokenFactory(securityParams, 300, userTokenDao.Object); }
public void Should_return_null_access_token_if_the_response_has_already_expired() { var factory = new AccessTokenFactory(stopwatchFactory); stopwatch.Elapsed.Returns(1.Seconds()); Action action = () => factory.CreateAccessToken(CreateTokenResponse(1)); action.Should().Throw <OpenIdException>(); }
public void Should_return_a_new_access_token_if_the_response_has_not_expired_yet() { var factory = new AccessTokenFactory(stopwatchFactory); stopwatch.Elapsed.Returns(1.Seconds()); var accessToken = factory.CreateAccessToken(CreateTokenResponse(2)); accessToken.Should().NotBeNull(); accessToken !.HasNotExpired.Should().BeTrue(); }
public void Should_initialize_token_with_values_from_the_response_has_not_expired_yet_but_without_refresh_token() { var factory = new AccessTokenFactory(stopwatchFactory); stopwatch.Elapsed.Returns(1.Seconds()); var accessToken = factory.CreateAccessToken(CreateTokenResponse(2, "access-token", null)); accessToken.Should().NotBeNull(); accessToken !.ToString().Should().Be("access-token"); accessToken.TryGetRefreshToken(out _).Should().BeFalse(); }
private static void Main() { ServicePointManager.ServerCertificateValidationCallback += (sender, cert, chain, sslPolicyErrors) => true; WriteLine("Run operations for signed-in user, or in app-only mode.\n"); WriteLine("[w] - web app-only\n[n] - native app-only\n[u] - as user\n\nPlease enter your choice:\n"); string accessToken = string.Empty; ConsoleKeyInfo key = ReadKey(); switch (key.KeyChar) { case 'w': WriteLine("\nRunning web app-only mode\n\n"); accessToken = AccessTokenFactory.GetAccessTokenAsync(AuthenticationType.WebApp, AuthenticationMethod.Cert, ResourceType.MicrosoftGraphApi).Result; Demo(accessToken); break; case 'n': WriteLine("\nRunning native app-only mode\n\n"); accessToken = AccessTokenFactory.GetAccessTokenAsync(AuthenticationType.NativeApp, AuthenticationMethod.Password, ResourceType.MicrosoftGraphApi).Result; Demo(accessToken); break; case 'u': WriteLine("\nRunning in user mode\n\n"); accessToken = AccessTokenFactory.GetAccessTokenAsync(AuthenticationType.User, AuthenticationMethod.Password, ResourceType.MicrosoftGraphApi).Result; Demo(accessToken); break; default: WriteError("\nSelection not recognized. Running in web app-only mode\n\n"); accessToken = AccessTokenFactory.GetAccessTokenAsync(AuthenticationType.WebApp, AuthenticationMethod.Password, ResourceType.MicrosoftGraphApi).Result; Demo(accessToken); break; } //********************************************************************************************* // End of Demo Console App //********************************************************************************************* WriteLine("\nCompleted at {0} \n Press Any Key to Exit.", DateTime.Now.ToUniversalTime()); ReadKey(); }
public async Task <WxUser> GetSnsApiUserInfo(string code) { var token = await AccessTokenFactory.GetTokenAsync(code); if (token == null) { return(null); } string url = $"{WxConstants.SNSAPI_USERINFO_URL}?access_token={token.AccessToken}&openid={token.OpenId}&lang=zh_CN"; return(await WxClient.GetAsync <WxUser>(url)); }
public override IMigrationProcessor Create(string connectionString, IAnnouncer announcer, IMigrationProcessorOptions options) { var factory = new SqlServerDbFactory(); var accessTokenFactory = new AccessTokenFactory(_clientId, _certThumbPrint, StoreLocation.CurrentUser); var accessToken = accessTokenFactory.GetTokenAsync(_authority, "https://database.windows.net/").GetAwaiter().GetResult(); var connection = new SqlConnection(connectionString) { AccessToken = accessToken }; return(new SqlServerProcessor(connection, new SqlServer2014Generator(), announcer, options, factory)); }
public async Task SendTempMsg(string toUser, string tempId, object data, string url = "", string color = null) { var token = await AccessTokenFactory.GetTokenAsync(); if (token == null) { return; } var msg = new { touser = toUser, template_id = tempId, data, url, color }; string uri = $"{WxConstants.CGI_BIN_TEMPLATE_URL}?access_token={token.AccessToken}"; var content = new StringContent(msg.ToJsonString(), System.Text.Encoding.UTF8, "application/json"); await WxClient.PostAsync(uri, content); }