public Task RequestToken(OAuthRequestTokenContext context) { var token = ""; string authorization = context.Request.Headers.Get("Authorization"); if (!string.IsNullOrEmpty(authorization)) { if (authorization.StartsWith("Bearer ", StringComparison.OrdinalIgnoreCase)) { token = authorization.Substring("Bearer ".Length).Trim(); context.Token = token; return(Task.FromResult(0)); } } token = context.Request.Query["accesstoken"]; if (!string.IsNullOrEmpty(token)) { context.Token = token; return(Task.FromResult(0)); } token = context.Request.Cookies["accesstoken"]; if (!string.IsNullOrEmpty(token)) { context.Token = token; return(Task.FromResult(0)); } return(Task.FromResult(0)); }
private static async Task <Account> GrantResourceOwnerCredentialsToken(OAuthGrantResourceOwnerCredentialsContext context, AuthRepository auth) { var token = context.OwinContext.Get <string>("token"); if (!string.IsNullOrEmpty(token)) { Guid parentRefreshToken; if (Guid.TryParse(token, out parentRefreshToken)) { var sessionToken = await auth.SessionTokenGetAsync(parentRefreshToken); if (!object.Equals(sessionToken, null)) { context.OwinContext.Set("parentSessionToken", sessionToken); return(await auth.AccountGetAsync(sessionToken.AccountId)); } } else { var tokenContext = new OAuthRequestTokenContext(context.OwinContext, token); var tokenReceiveContext = new AuthenticationTokenReceiveContext(context.OwinContext, Startup.OAuthBearerOptions.AccessTokenFormat, tokenContext.Token); tokenReceiveContext.DeserializeTicket(tokenReceiveContext.Token); var ticket = tokenReceiveContext.Ticket; if (!object.Equals(ticket, null) && ticket.Properties.ExpiresUtc.HasValue && ticket.Properties.ExpiresUtc.Value > Startup.OAuthBearerOptions.SystemClock.UtcNow) { return(await auth.AccountGetAsync(ticket.Identity.Name)); } } } return(null); }
public override Task RequestToken(OAuthRequestTokenContext context) { if (!string.IsNullOrEmpty(context.Token) && context.Token != "null") { var handler = new JwtSecurityTokenHandler(); JwtSecurityToken jwt = (JwtSecurityToken)handler.ReadToken(context.Token); if (!jwt.Header.ContainsKey(JwtHeaderParameterNames.Typ)) { context.Token = string.Empty; } string typ = (string)jwt.Header[JwtHeaderParameterNames.Typ]; if (typ != "JWT" && typ != "urn:ietf:params:oauth:token-type:jwt") { context.Token = string.Empty; } string alg = (string)jwt.Header[JwtHeaderParameterNames.Alg]; bool hmacMode = false; if (hmacMode && alg != Microsoft.IdentityModel.Tokens.SecurityAlgorithms.HmacSha512Signature && alg != Microsoft.IdentityModel.Tokens.SecurityAlgorithms.HmacSha512) { context.Token = string.Empty; } if (!hmacMode && alg != Microsoft.IdentityModel.Tokens.SecurityAlgorithms.RsaSha256Signature && alg != Microsoft.IdentityModel.Tokens.SecurityAlgorithms.RsaSha256) { context.Token = string.Empty; } } return(base.RequestToken(context)); }
/// <summary> /// 获取Token /// </summary> /// <param name="context"></param> /// <returns></returns> private static Task HandlerRequestToken(OAuthRequestTokenContext context) { //默认从context.Request.Headers["Authorization"]获取 var token = context.Token; return(Task.FromResult(0)); }
public Task RequestToken(OAuthRequestTokenContext context) { Verify(context.Token); //ValidateJwt(context.Token); //context.Validated(); return(Task.FromResult(0)); }
/// <summary> /// /// </summary> /// <param name="context"></param> /// <returns></returns> public override async Task RequestToken(OAuthRequestTokenContext context) { logger.Debug("RequestToken"); IHeaderDictionary headers = context.Request.Headers; if (headers != null && headers.Count > 0) { //如果是Authorization=Bearer {access_token} 不做处理 if (headers.ContainsKey("Authorization") || headers.ContainsKey("authorization")) { return; } } //?access_token={access_token} var accessToken = context.Request.Query.Get("access_token"); //if (string.IsNullOrEmpty(accessToken)) //{ // //form类型的参数 // IFormCollection formColls = await context.Request.ReadFormAsync(); // if (formColls != null || formColls.Count() > 0) // { // accessToken = formColls["access_token"]; // } //} if (!string.IsNullOrEmpty(accessToken)) { context.Token = accessToken; } }
public override Task RequestToken(OAuthRequestTokenContext context) { var token = context.Request.Cookies.SingleOrDefault(x => x.Key == "token").Value; context.Token = token; return(base.RequestToken(context)); }
private async Task <string> GetTokenAsync(OwinContext context) { // find token in default location string requestToken = null; string authorization = context.Request.Headers.Get("Authorization"); if (!string.IsNullOrEmpty(authorization)) { if (authorization.StartsWith("Bearer ", StringComparison.OrdinalIgnoreCase)) { requestToken = authorization.Substring("Bearer ".Length).Trim(); } } // give application opportunity to find from a different location, adjust, or reject token if (_options.TokenProvider != null) { var requestTokenContext = new OAuthRequestTokenContext(context, requestToken); await _options.TokenProvider.RequestToken(requestTokenContext); // if no token found, no further work possible if (string.IsNullOrEmpty(requestTokenContext.Token)) { return(null); } return(requestTokenContext.Token); } return(requestToken); }
/// <summary> /// Handles processing OAuth bearer token. /// </summary> /// <param name="context"></param> /// <returns></returns> public virtual Task RequestToken(OAuthRequestTokenContext context) { var idContext = new OAuthValidateIdentityContext(context.OwinContext, null, null); this.ValidateIdentity(idContext); return(Task.FromResult <int>(0)); }
public override Task RequestToken(OAuthRequestTokenContext context) { if (context == null) { throw new ArgumentNullException("context"); } // try to find bearer token in a cookie // (by default OAuthBearerAuthenticationHandler // only checks Authorization header) var tokenCookie = context.OwinContext.Request.Cookies["BearerToken"]; string bearerToken = context.Request.Query.Get("bearer_token"); if (bearerToken != null) { string[] authorization = new string[] { "bearer " + bearerToken }; context.Request.Headers.Add("Authorization", authorization); } //Aca se saca el token de autenticacion y se pone en el contexto if (context.Request.Headers.Any(a => a.Key == "Authorization") && context.Request.Headers.Get("Authorization").Any()) { tokenCookie = context.Request.Headers.Get("Authorization"); } if (!string.IsNullOrEmpty(tokenCookie)) { context.Token = tokenCookie; } return(Task.FromResult <object>(null)); }
protected override async Task <AuthenticationTicket> AuthenticateCoreAsync() { // Find token in default location string requestToken = null; string authorization = Request.Headers.Get("Authorization"); if (!string.IsNullOrEmpty(authorization)) { if (authorization.StartsWith("Bearer ", StringComparison.OrdinalIgnoreCase)) { requestToken = authorization.Substring("Bearer ".Length).Trim(); } } // Give application opportunity to find from a different location, adjust, or reject token var requestTokenContext = new OAuthRequestTokenContext(Context, requestToken); await Options.Provider.RequestToken(requestTokenContext); // If no token found, no further work possible if (string.IsNullOrEmpty(requestTokenContext.Token)) { return(null); } //var validatingCert = X509.LocalMachine.My.SubjectDistinguishedName.Find("CN=as.local", false).First(); var tokenHandler = new JwtSecurityTokenHandler(); //var x509SecurityToken = new X509SecurityToken(validatingCert); var validationParameters = new TokenValidationParameters { ValidAudiences = Options.AllowedAudiences, IssuerSigningKey = new InMemorySymmetricSecurityKey(Convert.FromBase64String(AppSettings.JwtSigningKey)), ValidIssuer = AppSettings.JwtIssuerName }; var tokenReceiveContext = new AuthenticationTokenReceiveContext( Context, Options.AccessTokenFormat, requestTokenContext.Token); SecurityToken outToken; ClaimsPrincipal output = tokenHandler.ValidateToken(requestToken, validationParameters, out outToken); var id = new ClaimsIdentity(output.Claims, Options.AuthenticationType); if (id == null) { return(null); } var props = new AuthenticationProperties(new Dictionary <string, string> { { "issuer", AppSettings.JwtIssuerName }, { "audience", AppSettings.JwtAllowedAudience } }); AuthenticationTicket ticket = new AuthenticationTicket(id, props); return(ticket); }
public Task RequestToken(OAuthRequestTokenContext context) { if (context.Request.Method.Equals("GET") && context.Request.Query["token"] != null) { context.Token = context.Request.Query["token"]; } return(Task.CompletedTask); }
private void RemoveToken(OAuthRequestTokenContext context) { context.Response.Cookies.Delete("access_token"); context.Response.Cookies.Delete("refresh_token"); context.Response.Cookies.Delete("oauth_fullName"); context.Token = null; }
internal static void UpdateToken(OAuthRequestTokenContext context, SaaSApiToken token) { context.Response.Cookies.Append("access_token", token.AccessToken, _cookieOptions); context.Response.Cookies.Append("refresh_token", token.RefreshToken, _cookieOptions); context.Response.Cookies.Append("oauth_fullName", string.Format("{0} {1}", token.FirstName, token.LastName), _cookieOptions); context.Token = token.AccessToken; }
public override Task RequestToken(OAuthRequestTokenContext context) { if (context.Request.Headers.Any(item => item.Key.Equals("AuthorizationConectados"))) { context.Token = context.Request.Headers["AuthorizationConectados"].Replace("Bearer ", ""); } return(base.RequestToken(context)); }
public override Task RequestToken(OAuthRequestTokenContext context) { if (string.IsNullOrEmpty(context.Token)) { context.Token = context.Request.Cookies["accessToken"]; } return(Task.FromResult <object>(null)); }
public override async Task RequestToken(OAuthRequestTokenContext context) { var value = context.Request.Headers.Get(_name); if (!string.IsNullOrEmpty(value)) { context.Token = value; } }
public override Task RequestToken(OAuthRequestTokenContext context) { string token = context.Request.Query.Get("AcessToken"); if (!string.IsNullOrEmpty(token)) { var authenticationTicket = Startup.AuthServerOptions.AccessTokenFormat.Unprotect(token); } return(Task.FromResult <object>(null)); }
public override Task RequestToken(OAuthRequestTokenContext context) { var value = context.Request.Query.Get("token"); if (!string.IsNullOrEmpty(value)) { context.Token = value; } return(Task.FromResult <object>(null)); }
public override Task RequestToken(OAuthRequestTokenContext context) { var tokenCookie = context.OwinContext.Request.Cookies["BearerToken"]; if (!String.IsNullOrEmpty(tokenCookie)) { context.Token = tokenCookie; } return(Task.FromResult <object>(null)); }
public Task RequestToken(OAuthRequestTokenContext context) { string token = context.Request.Headers["Authorization"]; if (!string.IsNullOrEmpty(token)) { context.Token = token.Replace("Bearer ", ""); } return(Task.FromResult <object>(null)); }
public override Task RequestToken(OAuthRequestTokenContext context) { var getter = _locations.FirstOrDefault(x => !String.IsNullOrWhiteSpace(x(context.Request))); if (getter != null) { var tokenStr = getter(context.Request); context.Token = _bearerRegex.Replace(tokenStr, "").Trim(); } return(Task.FromResult <object>(null)); }
/// <summary> /// Handles processing OAuth bearer token. /// </summary> async public override Task RequestToken(OAuthRequestTokenContext context) { var value = context?.Request?.Query?.Get(_queryKey); if (!string.IsNullOrWhiteSpace(value)) { context.Token = value; } await base.RequestToken(context); }
public override Task RequestToken(OAuthRequestTokenContext context) { var value = context.Request.Query.Get("access_token"); if (!string.IsNullOrEmpty(value)) { context.Token = value; } return(base.RequestToken(context)); }
public override Task RequestToken(OAuthRequestTokenContext context) { var cookie = context.Request.Cookies[_cookieName]; if (!string.IsNullOrEmpty(cookie)) { context.Token = cookie; } return(Task.FromResult <object>(null)); }
public override Task RequestToken(OAuthRequestTokenContext context) { var value = context.Request.Headers["Authorization"].Substring("Bearer ".Length).Trim() ?? context.Request.Query.Get("access_token"); if (!string.IsNullOrEmpty(value)) { context.Token = value; } return(Task.FromResult <object>(null)); }
public async Task GetRequestToken(OAuthRequestTokenContext context) { TokenRepository reps = new TokenRepository(); var tokenText = context.Token; var tokenEntity = await reps.FindAsync(tokenText); if (tokenEntity == null) { context.Token = null; return; } }
public Task RequestToken(OAuthRequestTokenContext context) { if (string.IsNullOrEmpty(context.Token)) { var token = context.Request.Query.FirstOrDefault(q => q.Key.Equals("access_token", StringComparison.OrdinalIgnoreCase)); if (token.Value != null && token.Value.Any()) { context.Token = token.Value.FirstOrDefault(); } } return(Task.FromResult <object>(null)); }
public override Task RequestToken(OAuthRequestTokenContext context) { var request = context.Request; var requestBodyJson = JObject.Parse(new StreamReader(request.Body).ReadToEnd()); var accessToken = requestBodyJson["session"]["user"]["accessToken"].ToString(); if (!string.IsNullOrEmpty(accessToken)) { context.Token = accessToken; } return(Task.FromResult <object>(null)); }
public override Task RequestToken(OAuthRequestTokenContext context) { if (context.Request.Path.Value.StartsWith("/signalr")) { var token = context.Request.Query.Get("token"); if (token != null) { context.Token = token; } } return(Task.FromResult(context)); }