If you think a bug might affect users in the 57 release, please set the correct tracking and status flags for Release Management.

[login.wm.o] Integrate SSO/webmakernav into webmaker.org

RESOLVED FIXED

Status

Webmaker
webmaker.org
RESOLVED FIXED
5 years ago
4 years ago

People

(Reporter: boozeniges, Assigned: pomax)

Tracking

Details

(Whiteboard: u=dev c=login p=1 s=2013w20)

Attachments

(1 attachment)

Comment hidden (empty)
(Reporter)

Updated

5 years ago
Whiteboard: [login.wm.o]

Updated

5 years ago
Component: webmaker.org → Login

Updated

5 years ago
Whiteboard: [login.wm.o] → u=dev c=login p=1 s=2013w16

Updated

5 years ago
Assignee: nobody → ross
(Reporter)

Updated

5 years ago
Depends on: 862128

Updated

5 years ago
Whiteboard: u=dev c=login p=1 s=2013w16 → u=dev c=login p=1
Depends on: 863811
Moving this to be a focus for week of Apr 22; Ross, can you please let us know if there are any outstanding dependencies you require before you can get crackin'?
Whiteboard: u=dev c=login p=1 → u=dev c=login p=1 s=2013w17
(Reporter)

Comment 2

5 years ago
Well potentially a couple of things but I'm not getting my head around the full on dependance list:

- https://bugzilla.mozilla.org/show_bug.cgi?id=863811 (publish/save on webmakernav)
- we also don't have any visual design for this, I have been guessing that the process lives inside of the webmakernav or whatever that becomes
- also, I don't know what the save/publish process looks like right now, because of how we're iframing in the sign-in button I'm not sure how it works with having it in multiple places...

Trying to get a vidyo with kate later to get my head around things.
(Reporter)

Comment 3

5 years ago
Changing the name and component so it's less wishy washy and so that we can better prototype on one single domain.
Component: Login → webmaker.org
Summary: [login.wm.o] Code-up the UX designs for user sign-up → [login.wm.o] Integrate SSO/webmakernav into webmaker.org
(Reporter)

Updated

5 years ago
Duplicate of this bug: 861964
Chatted with Kate and she agreed to find you April 25th AM EDT to make sure we could try and get this sorted by the end of the week. The goal here is to have any ol' dummy app that basically prototypes the functionality of the sign-up and sign-in flows which can then be hooked into by webmaker.org as well as any of the marquee tools (thimble, popcorn maker, x-ray goggles)
(Reporter)

Comment 6

5 years ago
Will fast follow this on Monday morning.
(Reporter)

Comment 7

5 years ago
Looks like most of this has been done by :k88hudson via this PR - https://github.com/mozilla/webmaker.org/pull/2

Will work with Kate to get this merged in/deployed/complete
(Reporter)

Updated

5 years ago
Whiteboard: u=dev c=login p=1 s=2013w17 → u=dev c=login p=1 s=2013w18
(Reporter)

Comment 8

5 years ago
:k88hudson - have sent a pull request into your branch (which is currently waiting to go into the main repo).

After this lands (if it's needed) do we need to assign someone for a review of the node set up and stuff?
(Reporter)

Comment 9

5 years ago
Adding Kate to the CC
(Reporter)

Comment 10

5 years ago
Wondering if this might have a duplicate bug in the webmaker.org component...
(Reporter)

Comment 11

5 years ago
http://webmaker.mofostaging.net/ - it's integrated!
Status: NEW → RESOLVED
Last Resolved: 5 years ago
Resolution: --- → FIXED
Webmaker.org needs to implement the Webmaker SSO, and the standard server-side session format that SSO is built to allow. 

From the email:

* Implement Persona authentication exactly as you normally would, using the .watch() API. MIU has a pretty standard implementation of this: https://github.com/jbuck/miu/blob/master/views/index.html and https://github.com/jbuck/miu/blob/master/public/javascripts/persona.js

* Replace the script "https://login.persona.org/include.js" with "http://personasso.s3-website-us-east-1.amazonaws.com/include.js". This is not the final location, it's just a place that happens to work well enough for me. a

* Replace the calls to navigator.id with navigator.idSSO.

That's it! You can see how easy this conversion to SSO is with https://github.com/jbuck/miu/compare/sso
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Assignee: ross → nobody
Whiteboard: u=dev c=login p=1 s=2013w18 → u=dev c=login p=1 s=2013w20
Blocks: 867223

Updated

4 years ago
Blocks: 870960
(Assignee)

Updated

4 years ago
Assignee: nobody → pomax
(Assignee)

Comment 13

4 years ago
Created attachment 749044 [details] [review]
https://github.com/mozilla/login.webmaker.org/pull/53

Alright, here we go again. I've filed a pull request that I'd like comments on, but it SHOULD NOT BE MERGED if we're happy with this, as the webmaker-loginapi module is, at the time of writing/attachmenting, not real yet. That needs to become a real thing before this is good enough to land. 

With that said, a repeat of the pull request message:

---

Alright, here we go. I rewrote things so that there's only one client app - mostly because I don't know how to make the Procfile run two instances under --dev mode on different ports. If this is possible, best way to test, rather than building two `app` instances in the code. Also, this uses the new persona system (client side) as well as stubs for the webmaker-loginapi node wrapper (server side at the consumer app). The flow is now:

- user logs in with persona
- persona okays it
- consumer app (client side) calls its own /persona/verify to effect server-side auth as well
- auth passes -> req.session.email is set locally for the consumer app.
- consumer app (client side) then asks the webmaker SSO ui code to check whether this is a new, or known maker.

[EXTRA STEPS FOR NEW MAKER]
- sleak UI slides in to get the user to come up with a webmaker subdomain. they fill it in, save, etc, flow returns to the SSO ui code where this user is now a known maker

- the SSO ui code then calls the consumer app's /user/personaEmail so that the consumer app can (server side) obtain that user's display name and set it as part of the session cookie using the webmaker-loginapi, rather than trusting the client to send a legal display name.

At this would point we *should* have a fully authenticated user, and the locally set cookie can be used for everything.
Attachment #749044 - Flags: feedback?(ross)
Attachment #749044 - Flags: feedback?(kieran.sedgwick)
Attachment #749044 - Flags: feedback?(jon)
Flags: needinfo?
(Reporter)

Comment 14

4 years ago
Comment on attachment 749044 [details] [review]
https://github.com/mozilla/login.webmaker.org/pull/53

Feedback provided in github - it looks like a good start but let's make sure that all the things that were originally added to polish things up - like user feedback for instance is carried over.
Attachment #749044 - Flags: feedback?(ross) → feedback+
Flags: needinfo?
(Assignee)

Comment 15

4 years ago
Comment on attachment 749044 [details] [review]
https://github.com/mozilla/login.webmaker.org/pull/53

updated the pull request, with the following things:

- updated README
- webmaker-loginapi has been added
- quite a number of code fixes

Renewed scrunity welcome, desired, and necessary.
Attachment #749044 - Flags: feedback+ → feedback?(ross)
(Reporter)

Comment 16

4 years ago
Comment on attachment 749044 [details] [review]
https://github.com/mozilla/login.webmaker.org/pull/53

r+ assuming that the progress-indicator either gets resolved or a new ticket created for it. I think it would be a shame to loose them as the Persona auto login can at times be a wee bit slow.
Attachment #749044 - Flags: feedback?(ross) → feedback+

Comment 17

4 years ago
Comment on attachment 749044 [details] [review]
https://github.com/mozilla/login.webmaker.org/pull/53

Looks good to me, notes in the pull request
Attachment #749044 - Flags: review+
Attachment #749044 - Flags: feedback?(kieran.sedgwick)
Attachment #749044 - Flags: feedback?(jon)
(Assignee)

Updated

4 years ago
Blocks: 872706
(Assignee)

Updated

4 years ago
Blocks: 872708
(Assignee)

Updated

4 years ago
Blocks: 872710

Comment 18

4 years ago
Commit pushed to master at https://github.com/mozilla/login.webmaker.org

https://github.com/mozilla/login.webmaker.org/commit/3b116f86c922d6ca16842c2191f5e7224a4516ba
Fix bug 860365 - added webmaker user bar

Updated

4 years ago
Status: REOPENED → RESOLVED
Last Resolved: 5 years ago4 years ago
Resolution: --- → FIXED
Attachment mime type: text/plain → text/x-github-pull-request
You need to log in before you can comment on or make changes to this bug.