* Bump generated proto code
* Add argon2 conf sql and proto files
* Add generated code for argon2 conf
* Add Resources for Argon2 configuration
* Add get and set Configuration to repository
* Add current config reference to AuthMethod
* Fix authmethod_test
* Fix TestAccount_New
* Add WithConfiguration to options
* Add sql views for current configuration
* Fix SetTableName
* Remove duplicate testAccounts function
* Make tests clearer
* Fix comment
* Rename test variable
* Use NewPrivateId function for private Ids
* Refactor: rename public_id to private_id for password_conf and password_credential
* Remove bad comment
* Check if embedded argon2 configuration is nil
* Add checks around the WithConfiguration option
* Use spaces not tabs in proto file
* Add doc to explain choice of oplog ticket
* Verify oplog in test
* Add base SQL and protobuf files
* Add options and public Ids
* Add AuthMethod and Account resources
* Add repository
* Add CreateAuthMethod to repository
* Add CreateAccount method to repository
* Remove redundant foreign keys
* Document relationships between iam and auth tables
* Document relationships between auth and auth_password tables
* Add documentation for subtype triggers
* Use wt_scope_id domain type for scope_id
* Refactor: move test helper function
* Remove check from SetTableName
* Remove check from another SetTableName
* Use org scope in tests
* Remove handling of CreateTime and UpdateTime from docs
Don't rely on token for scopes collection actions
This requires `scope_id` to be passed (via query param) for actions on
the scopes collection; that is, listing or creating. However, it removes
the dependency on using the token for the scope of the command. For
actions on a specific scope, we use the given ID to determine the scope
we should be operating at, doing a lookup if necessary.
Existing tests have been updated. Of particular note, the CORS test was
already operating on the scopes collection so served as a good test to
ensure that from an API level the scope_id parameter was being parsed
and passed through (the tests fail without adding that query parameter
in).
The following error string was the end result of an error in lookupAfterWrite:
`set password configuration: update: lookup error lookup after write: failed record not found`
The error string with this change applied would be:
`set password configuration: update: lookup after write: record not found`
* Feature: Create MaskManager logic to handle project -> scope update mask logic.
* Updating resource protos and services to use new mask manager setup.
Co-authored-by: Jeff Mitchell <jeffrey.mitchell@gmail.com>
* Move verification to a shared package
The verifier is constructed at HTTP request time and added to the
context. It can then be called from appropriate handlers with
standardized error handling after all the routing.
I intentionally did not add to the handlers yet as I am a good distance
into the scope updates and didn't want to cause even more merge
conflicts. So at the moment authz is again disabled, but once the scope
updates are done, this will be integrated back in.
* Adding grants related methods to Roles.
* Adding grants back after the merge of Principals.
* Adding tests for Grant related custom methods.
* Improving api handler methods.
* Fixing tests and sdk field.
* Adding todos for adding principals and grants to List and Update Role responses.
* Fix up Set* tests and fix SetPrincipals bug.
* Making AddPrincipals and RemovePrincipals similar to the tests for AddGrants and RemoveGrants.
* Add JSON grants to output (#187)
I also changed canonical_grants to grants_canonical and used
grants_json. I believe that when members are simply different formats of
other members this is the preferred way to have it in the API. Let me
know if you disagree and we can dig in more.
* Regenerate the API role resource.
Co-authored-by: Jeff Mitchell <jeffrey.mitchell@gmail.com>