Closed Bug 860365 Opened 11 years ago Closed 11 years ago

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

Categories

(Webmaker Graveyard :: webmaker.org, defect)

x86
macOS
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: boozeniges, Assigned: michiel)

References

Details

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

Attachments

(1 file)

      No description provided.
Whiteboard: [login.wm.o]
Component: webmaker.org → Login
Whiteboard: [login.wm.o] → u=dev c=login p=1 s=2013w16
Assignee: nobody → ross
Depends on: 862128
Whiteboard: u=dev c=login p=1 s=2013w16 → u=dev c=login p=1
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
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.
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
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)
Will fast follow this on Monday morning.
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
Whiteboard: u=dev c=login p=1 s=2013w17 → u=dev c=login p=1 s=2013w18
: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?
Adding Kate to the CC
Wondering if this might have a duplicate bug in the webmaker.org component...
http://webmaker.mofostaging.net/ - it's integrated!
Status: NEW → RESOLVED
Closed: 11 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
Blocks: 870960
Assignee: nobody → pomax
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?
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?
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)
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 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)
Blocks: 872706
Blocks: 872708
Blocks: 872710
Status: REOPENED → RESOLVED
Closed: 11 years ago11 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.

Attachment

General

Creator:
Created:
Updated:
Size: