public string Build(Model.Credentials creds) { if (!new DatabaseCredentialsValidator(_DBContext).IsValid(creds)) { throw new AuthenticationException(); } var tokenByUser = _DBContext.Token.FirstOrDefault(u => u.User.Username.Equals(creds.Username)); if (tokenByUser != null) { if (new DatabaseTokenValidator(_DBContext).IsExpired(tokenByUser)) { _DBContext.Token.Remove(tokenByUser); _DBContext.SaveChanges(); } else { return(tokenByUser.Token1); } } var token = BuildSecureToken(TokenSize); var user = _DBContext.User.SingleOrDefault(u => u.Username.Equals(creds.Username, StringComparison.CurrentCultureIgnoreCase)); _DBContext.Token.Add(new Token { Token1 = token, User = user, CreateTime = DateTime.Now }); _DBContext.SaveChanges(); return(token); }
public bool IsValid(Model.Credentials creds) { var user = _DBContext.User.SingleOrDefault(u => u.Username.Equals(creds.Username, StringComparison.CurrentCultureIgnoreCase)); var tokenApi = _DBContext.TokenApi.SingleOrDefault(t => t.TokenApi1.Equals(creds.TokenApi)); return(user != null && String.Equals(user.Password, creds.Password) && tokenApi != null); }
[Route("/api/forge/callback/oauth")] // see Web.Config FORGE_CALLBACK_URL variable public async Task <IActionResult> OAuthCallbackAsync(string code) { if (string.IsNullOrWhiteSpace(code)) { return(Redirect("/")); } // create credentials form the oAuth CODE Model.Credentials credentials = await Model.Credentials.CreateFromCodeAsync(code, Response.Cookies); return(Redirect("/")); }
public string Build(Model.Credentials creds) { if (!new DatabaseCredentialsValidator(_DbContext).IsValid(creds)) { throw new AuthenticationException(); } var token = BuildSecureToken(TokenSize); var user = _DbContext.Users.SingleOrDefault(u => u.Username.Equals(creds.User, StringComparison.CurrentCultureIgnoreCase)); _DbContext.Tokens.Add(new Token { Text = token, User = user, CreateDate = DateTime.Now }); _DbContext.SaveChanges(); return(token); }
public async Task <IList <Model.TreeNode> > GetOSSAsync(string id) { IList <Model.TreeNode> nodes = new List <Model.TreeNode>(); dynamic oauth = await OAuthController.GetInternalAsync(); // 3LO //string oauth = objCredentials.TokenInternal; objCredentials = await Model.Credentials.FromSessionAsync(base.Request.Cookies, Response.Cookies); if (objCredentials == null) { return(null); } if (id == "#") // root { // in this case, let's return all buckets BucketsApi appBckets = new BucketsApi(); appBckets.Configuration.AccessToken = oauth.access_token; // 3LO //appBckets.Configuration.AccessToken = oauth; // to simplify, let's return only the first 100 buckets dynamic buckets = await appBckets.GetBucketsAsync(sRegion, iBucketNumber); foreach (KeyValuePair <string, dynamic> bucket in new DynamicDictionaryItems(buckets.items)) { nodes.Add(new Model.TreeNode(bucket.Value.bucketKey, bucket.Value.bucketKey.Replace(objCredentials.ClientId + "-", string.Empty), "bucket", true)); } } else { // as we have the id (bucketKey), let's return all ObjectsApi objects = new ObjectsApi(); objects.Configuration.AccessToken = oauth.access_token; // 3LO //objects.Configuration.AccessToken = oauth; var objectsList = objects.GetObjects(id); foreach (KeyValuePair <string, dynamic> objInfo in new DynamicDictionaryItems(objectsList.items)) { nodes.Add(new Model.TreeNode(ServiceClass.Service.Base64Encode((string)objInfo.Value.objectId), objInfo.Value.objectKey, "object", false)); } } return(nodes); }
public async Task <AccessToken> GetPublicTokenAsync() { Model.Credentials credentials = await Model.Credentials.FromSessionAsync(Request.Cookies, Response.Cookies); if (credentials == null) { base.Response.StatusCode = (int)HttpStatusCode.Unauthorized; return(new AccessToken()); } // return the public (viewables:read) access token return(new AccessToken() { access_token = credentials.TokenPublic, expires_in = (int)credentials.ExpiresAt.Subtract(DateTime.Now).TotalSeconds }); }
public bool IsValid(Model.Credentials creds) { var user = _DbContext.Users.SingleOrDefault(u => u.Username.Equals(creds.User, StringComparison.CurrentCultureIgnoreCase)); return(user != null && Hash.Compare(creds.Password, user.Salt, user.Password, Hash.DefaultHashType, Hash.DefaultEncoding)); }