public async ValueTask <OperationResult <CompletedResult> > Delete([FromServices] IKeyVaultLogic keyVault, long userId) { var result = await keyVault.DeleteUser(HttpContext.User, userId); SetStatusCode(result); return(result); }
public async ValueTask <OperationResult <CompletedResult> > AddAccess([FromServices] IKeyVaultLogic keyVault, string secretName, [FromBody] UserAccessData data) { var result = await keyVault.AddSecretAccess(HttpContext.User, secretName, data.UserId, data); SetStatusCode(result); return(result); }
public async ValueTask <OperationResult <SecretResult> > Post([FromServices] IKeyVaultLogic keyVault, [FromBody] NewSecret newSecret) { var result = await keyVault.NewSecret(HttpContext.User, newSecret); SetStatusCode(result); return(result); }
public async ValueTask <OperationResult <SecretAccessResult> > Access([FromServices] IKeyVaultLogic keyVault, string secretName) { var result = await keyVault.GetSecretAccess(HttpContext.User, secretName); SetStatusCode(result); return(result); }
public async ValueTask <OperationResult <AllSecretData> > GetData([FromServices] IKeyVaultLogic keyVault, string secretName) { var result = await keyVault.GetSecretDataForSecret(HttpContext.User, secretName); SetStatusCode(result); return(result); }
public async ValueTask <OperationResult <UserRolesResult> > DeleteRoles([FromServices] IKeyVaultLogic keyVault, long userId, [FromBody] string[] roles) { var result = await keyVault.DeleteUserRoles(HttpContext.User, userId, roles); SetStatusCode(result); return(result); }
public async ValueTask <OperationResult <CompletedResult> > UpdateSecretData([FromServices] IKeyVaultLogic keyVault, string secretName, string name, [FromBody] UpdateSecretData data) { var result = await keyVault.UpdateSecretData(HttpContext.User, secretName, name, data); SetStatusCode(result); return(result); }
public async ValueTask <OperationResult <UserRolesResult> > Roles([FromServices] IKeyVaultLogic keyVault, long userId) { var result = await keyVault.GetUserRoles(HttpContext.User, userId); SetStatusCode(result); return(result); }
public async ValueTask <OperationResult <AllSecretsResult> > GetAllSecrets([FromServices] IKeyVaultLogic keyVault) { var result = await keyVault.GetAllSecrets(HttpContext.User); SetStatusCode(result); return(result); }
public async ValueTask <OperationResult <UserResult> > Create([FromServices] IKeyVaultLogic keyVault, [FromBody] NewUser data) { var result = await keyVault.AddUser(HttpContext.User, data); SetStatusCode(result); return(result); }
public async ValueTask <OperationResult <CompletedResult> > DeleteAccess([FromServices] IKeyVaultLogic keyVault, string secretName, long userId) { var result = await keyVault.DeleteSecretAccess(HttpContext.User, secretName, userId); SetStatusCode(result); return(result); }
public async ValueTask <OperationResult <CompletedResult> > DeleteNoAccess([FromServices] IKeyVaultLogic keyVault) { var result = await keyVault.DeleteSecretsWithNoAccess(HttpContext.User); SetStatusCode(result); return(result); }
public async ValueTask <IActionResult> Windows([FromServices] IKeyVaultLogic keyVault) { var result = await keyVault.AuthenticateWindows(HttpContext.User); if (!result.success) { return(Unauthorized()); } return(new ObjectResult(result.token)); }
public async ValueTask <IActionResult> Get([FromServices] IKeyVaultLogic keyVault, string secretName, string name, KeyVaultSecretValueMode mode) { if (mode == KeyVaultSecretValueMode.Text) { var secret = await keyVault.GetSecretValue(HttpContext.User, secretName, name); if (secret.Status == OperationStatus.NotFound) { return(NotFound()); } else if (secret.Status == OperationStatus.Unauthorized) { return(Unauthorized()); } return(new ObjectResult(secret.Result)); } else if (mode == KeyVaultSecretValueMode.Binary) { var secret = await keyVault.GetSecretValueAsBinrary(HttpContext.User, secretName, name); if (secret.Status == OperationStatus.NotFound) { return(NotFound()); } else if (secret.Status == OperationStatus.Unauthorized) { return(Unauthorized()); } if (secret.Result.type == KeyVaultSecretType.Text) { return(File(secret.Result.data, "text/plain; charset=utf-8")); } return(File(secret.Result.data, "application/octet-stream")); } else { throw new NotImplementedException(mode.ToString()); } }
public async ValueTask <IActionResult> Basic([FromServices] IKeyVaultLogic keyVault) { string authorization = HttpContext.Request.Headers["Authorization"]; if (authorization != null && authorization.StartsWith("Basic ", StringComparison.Ordinal)) { var credentials = Encoding.UTF8.GetString(Convert.FromBase64String(authorization.Substring(6))); int x = credentials.IndexOf(':'); if (x > 0) { string user = credentials.Substring(0, x); string password = credentials.Substring(x + 1); var result = await keyVault.AuthenticateBasic(user, password); if (result.success) { return(new ObjectResult(result.token)); } } } HttpContext.Response.Headers["WWW-Authenticate"] = "Basic realm=\"KeyVault basic authentication\", charset=\"UTF-8\""; return(StatusCode(401)); }
public async ValueTask <OperationResult <CredentialResult> > AddBasicCredential([FromServices] IKeyVaultLogic keyVault, long userId, [FromBody] BasicCredentialData data) { var result = await keyVault.AddBasicCredential(HttpContext.User, userId, data.Username, data.Password); SetStatusCode(result); return(result); }
public async ValueTask <OperationResult <CompletedResult> > DeleteDefaultSecretData([FromServices] IKeyVaultLogic keyVault, string secretName) { var result = await keyVault.DeleteSecretData(HttpContext.User, secretName, null); SetStatusCode(result); return(result); }
public ValueTask <OperationResult <UserData> > Get([FromServices] IKeyVaultLogic keyVault, long userId) { return(keyVault.GetUser(HttpContext.User, userId)); }
public ValueTask <OperationResult <AllUsersResult> > GetAll([FromServices] IKeyVaultLogic keyVault) { return(keyVault.GetUsers(HttpContext.User)); }
public async ValueTask <IActionResult> Create([FromServices] IWebHostEnvironment environment, [FromServices] IKeyVaultLogic keyVault) { if (!environment.IsDevelopment()) { throw new InvalidOperationException(); } await keyVault.Create(); return(Ok()); }
public async ValueTask <OperationResult <CredentialResult> > AddWindowsCredential([FromServices] IKeyVaultLogic keyVault, long userId, [FromBody] WindowsCredentialData data) { var result = await keyVault.AddWindowsCredential(HttpContext.User, userId, data.Account); SetStatusCode(result); return(result); }
public async ValueTask <OperationResult <SecretDataItem> > GetSecretDataDescription([FromServices] IKeyVaultLogic keyVault, string secretName, string name) { var result = await keyVault.GetSecretData(HttpContext.User, secretName, name); SetStatusCode(result); return(result); }