Comments (6)
So, in the data model, there should be another relation between:
- the target projet,
- the invitee user,
- the generated code.
A new line gets added when the invitee generates the code.
Then, the project owner can find the project and user related to said code and proceed with role assignment and so on.
from keystone.
There should be subcommands for each step:
ks invite [email]
sends instructions to the invitee to generate the code, and to create a keystone account if necessaryks invite generate [project]
generates an invitee code for the project. The invitee is responsible for transmitting the codeks invite accept [code]
adds the invitee to the project, the project owner assigns their roleks invite reject [code]
discards the project/invitee/code relation
from keystone.
Not sure there's a need to link an invitation code to a project. The invitee code could only be used as an identifier to find him on keystone, just like a username. Difference being that it's a one-time use.
ks invite [email]
sends instructions to the invitee by email to generate a one-time code (24h TTL) , and to create a keystone account if necessaryks project add [invitee code]
adds the invitee to the project, then the project owner assigns the invitee role
from keystone.
But we use ks secret add
to add secrets, and ks file add
to add files. So ks project add
looks like it is to add projects.
It looks like we have a new members resource with CRUD operations like secrets and files.
Since in the CLI resources are singular nouns, it gives us:
ks member
to list all members of the project with their rolesks member add [codes...]
to add members. Maybe we allow for several codes to be used at once ?ks member rm [usernames...]
to expel members. Same : several usernames at once ?ks member set-role [username]
to set the role for a member
And:
ks invite [emails...]
sends instructions to the invitee by email to generate a one-time code (24h TTL) , and to create a keystone account if necessaryks invite generate-code
to generate the one-time code ?
from keystone.
Would it be possible to add a known list of users from a file ? As in:
ks member add --from-file the-a-team.yml
from keystone.
ks invite [emails...]
just sends mail with instructionsks whoami
a unique member id of the form username@<github|gitlab>ks member add [usernames...]
from keystone.
Related Issues (20)
- restore should not remove cache before trying to decrypt the archive
- backup should have an options for programmatic use
- logs dates are unexpected
- allow project name to be passed with arguments
- hooks should also get project name in parameters
- backup should not require to be logged in
- remove hook does not work
- file should create the file it adds if it comes from the cache
- file set in subfolder does not prepend the local path
- cryptography breaks after hook removal
- Default backup strategy HOT 2
- Document the member add --from-file option
- ks invite outside a project
- clear device data in keystone config on device revoke
- crash when listing devices after revoking the last device
- environment up to date messages are obtrusive
- ks diff
- gitignore pollution
- Can't revoke access to the member that created the project
- Failed to close reader on login
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from keystone.