/// <summary> /// Saves a client to the database /// </summary> public void Commit() { Validate(); // will throw an exception as appropriate DBHelper dbh = new DBHelper("REPLACE INTO allowedoauthclients SET ClientID=?id, ClientSecret=?secret, CallBack=?callback, ClientName=?name, Scopes=?scopes, owningUserName=?user, ClientType=1"); dbh.DoNonQuery((comm) => { comm.Parameters.AddWithValue("id", ClientIdentifier.LimitTo(45)); comm.Parameters.AddWithValue("secret", ClientSecret.LimitTo(255)); comm.Parameters.AddWithValue("callback", CallbacksAsString.LimitTo(1024)); comm.Parameters.AddWithValue("name", ClientName.LimitTo(255)); comm.Parameters.AddWithValue("scopes", Scope.LimitTo(255)); comm.Parameters.AddWithValue("user", OwningUser.LimitTo(255)); }); OAuth2AuthorizationServer.RefreshClients(); }
/// <summary> /// Deletes the specified client. Owning user MUST be passed too, as a security precaution. /// </summary> /// <param name="id"></param> /// <param name="user"></param> public static void DeleteForUser(string id, string user) { if (id == null) { throw new ArgumentNullException(nameof(id)); } if (user == null) { throw new ArgumentNullException(nameof(user)); } DBHelper dbh = new DBHelper("DELETE FROM allowedoauthclients WHERE owningUserName=?user AND ClientID=?id"); dbh.DoNonQuery((comm) => { comm.Parameters.AddWithValue("user", user); comm.Parameters.AddWithValue("id", id); }); OAuth2AuthorizationServer.RefreshClients(); }