//////////////////////////////////////////////////////////////////////////////////////////////// /*--------------------------------------------------------------------------------------------*/ public OauthLoginResult ExecuteLogin(IOperationContext pOpCtx, IOauthLoginTasks pTasks, string pClientId, string pRedirUri, string pUsername, string pPassword) { var result = new OauthLoginResult(); App app = ValidateAndGetApp(pOpCtx, pTasks, pClientId, pRedirUri); result.AppId = app.VertexId; result.AppName = app.Name; User user = pTasks.GetUserByCredentials(pOpCtx.Data, pUsername, pPassword); if (user == null) { result.ShowLoginPage = true; result.LoginErrorText = "The Username or Password was incorrect."; return(result); } result.LoggedUserId = user.VertexId; result.LoggedUserName = user.Name; Member mem = pTasks.GetMember(pOpCtx.Data, app.VertexId, user.VertexId); if (mem == null) { mem = pTasks.AddMember(pOpCtx, new CreateMemberOperation(), app.VertexId, user.VertexId); } if (mem.OauthScopeAllow == true) { result.Code = mem.OauthGrantCode; result.Redirect = pRedirUri; } return(result); }