Skip to content
This repository has been archived by the owner on Dec 15, 2022. It is now read-only.

Authentication #87

Merged
merged 35 commits into from Oct 2, 2017
Merged

Authentication #87

merged 35 commits into from Oct 2, 2017

Conversation

as-cii
Copy link
Contributor

@as-cii as-cii commented Sep 27, 2017

Depends on atom/teletype-server#20
Depends on atom/teletype-client#18

This pull-request brings GitHub authentication into the real-time package. In particular, sharing and joining a portal will now require visiting tachyon.atom.io first to retrieve an OAuth token, which can then be copy-pasted into Atom to start using the real-time package:

screen shot 2017-09-28 at 18 04 07

(Please, note that we only require the password once or in the case the token becomes invalid).

When a user joins or leaves a portal, all the participants receive a notification showing the username of the person who joined/left:

join-leave-ux

Our ultimate goal for the user experience revolving around authentication is to show something like the buddy list proposed by @simurai in #22, but this provides a first MVP that allows us to ship the package with authentication, so that later on we can just iterate on the UX.

/cc: @nathansobo @jasonrudolph

Antonio Scandurra and others added 30 commits September 26, 2017 16:31
By default, we will instantiate a `GithubAuthenticationProvider` with
the keytar-backed password manager.
Don't assume we're storing one password and allow the password's key to
be assigned in the GithubAuthenticationProvider
@as-cii, I decided the less abstract name of "auth token provider" helps
tell the story of this dependency more clearly. It provides an auth
token. It does this by authenticating. I think both are valid but being
more concrete just feels clearer to me here. Open to discussing it if
you disagree.
Since we're storing tokens, which aren't *strictly* passwords
For some unexplained reason, keytar is throwing exceptions on some
machines with unsigned builds. In this case, we shell out to the
security binary on macOS or just store things in memory otherwise.
* Present a link instead of opening the token generation page
automatically
* Don't throw errors when the dialog is dismissed
* Present an error message and allow retries when tokens are invalid

Also, we extract a login-dialog etch component.
Antonio Scandurra added 2 commits September 29, 2017 12:12
This overrides the `text-align: center` style that is applied to the
entire LoginDialog and prevents TextEditor from positioning the cursor
in weird locations.
@as-cii
Copy link
Contributor Author

as-cii commented Sep 29, 2017

This is ready to go. I will go ahead and merge this after lunch.

@jasonrudolph jasonrudolph mentioned this pull request Oct 2, 2017
15 tasks
@as-cii as-cii merged commit 2339084 into master Oct 2, 2017
@as-cii as-cii deleted the authentication-2 branch October 2, 2017 18:03
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants