Firefox/Projects/AccountManager: Difference between revisions

Jump to navigation Jump to search
 
(9 intermediate revisions by 3 users not shown)
Line 1: Line 1:
__NOTOC__
__NOTOC__
The Account Manager project aims to help users manage the (currently manual and tedious) process of signing up/in/out of sites by adding chrome-level status and knobs to give the user a consistent point to view and control of sign-in status to the current site.
The Account Manager project aims to help users manage the (currently manual and tedious) process of signing up/in/out of sites by adding chrome-level status and knobs to give the user a consistent point to view and control of sign-in status to the current site.


Line 12: Line 11:
= Drivers =
= Drivers =


* [mailto:thunder@mozilla.com Dan Mills] (Labs lead)
* [mailto:thunder@mozilla.com Dan Mills]
* [mailto:gavin@mozilla.com Gavin Sharp] (Firefox lead)
* [mailto:mardak@mozilla.com Ed Lee]
* [mailto:faaborg@mozilla.com Alex Faaborg] (UX)
* [mailto:faaborg@mozilla.com Alex Faaborg]
* [mailto:thunder@mozilla.com?subject=I%20want%20to%20help! You!]
* [mailto:thunder@mozilla.com?subject=I%20want%20to%20help! You!]


= Status =
= Status =


* '''<onlyinclude>Starting Out</onlyinclude>'''
;Overview
 
<onlyinclude>See {{bug|571409}}</onlyinclude>.
 
Account Manager is currently a patch to mozilla-central, and is being targeted at the first release post 4.0.
 
Note that there is an add-on prototype (the result of the Labs exploration), but it is buggy and speaks an older version of the Account Manager protocol.  It is not recommended for testing, use try-server builds instead.
 
;Performance Impact
 
Currently around 1.3% on average:


We're keeping track of sites that support Account Manager, see [[Firefox/Projects/AccountManager/SupportedSites|this list]].
linux: 1.7%
lin64: 2.4%
macos: 0.2%
mac64: 2.0%
winxp: 1.3%
win 7: 0.5%


= Goals =
;[[Firefox/Projects/AccountManager/SecurityReview|Security Review]]


= Non-Goals =
In progress on Sept 1 3pm
 
= Helping Out =
 
First, see [[Firefox/Projects/AccountManager/CodeOverview|here]] for a quick walk-through of the code.  That will tell you what's what and help you get started.
 
Then see the TODO section on this page for open items to work on.


* Greasemonkey-like hacks that work only on one site, except as needed only to demonstrate the potential for the feature.
Thanks!
* Creating new and interesting authentication/authorization schemes.
* Extensive hacking on Password Manager-like heuristics to make it only sort of work on more sites.


= Timeline/Milestones =
= TODO =


* {{bu571409 Tracking bug]
;User facing features
* autoconnect [~2d]
* multi-profile sign-in bubbles [~1d]
* federated profile [~3d]
* HTTP Auth profile
* right click menu (fast user switching)
* basic in-content registration [a few days' work]


{| width="100%" cellpadding="3"
;Backend features
|-
* cookie-watching (refresh status on cookie changes) [~1day]
| style="background-color: #efefef;" colspan="5" | '''Core Features'''
* per-method static parameters (for forms that use a hidden param to determine action)
|-
* per-method dynamic parameters (for e.g. CSRF protection)
| style="background-color: #efefef; width: 20px"| '''Priority'''
| style="background-color: #efefef; width: 20px"| '''Target'''
| style="background-color: #efefef;"| '''Item'''
| style="background-color: #efefef;"| '''Bug'''
| style="background-color: #efefef;"| '''Status'''
|-
| P1 || M1 || Account Manager service || {{bug|571413}} ||
|-
| P1 || M1 || Realm detection engine || {{bug|571411}} ||
|-
|}


{| width="100%" cellpadding="3"
;Password manager integration
|-
* {{bug|589362}}
| style="background-color: #efefef;" colspan="5" | '''Profiles'''
* use new password manager columns for account lookup/saving
|-
** migration (set account realm for existing saved logins) [~1 day]
| style="background-color: #efefef; width: 20px"| '''Priority'''
** also on password manager end (when saving new password) [~1 day (dolske?)]
| style="background-color: #efefef; width: 20px"| '''Target'''
| style="background-color: #efefef;"| '''Item'''
| style="background-color: #efefef;"| '''Bug'''
| style="background-color: #efefef;"| '''Status'''
|-
| P1 || M1 || Username + password forms: sign in/sign out || {{bug|571414}} ||
|-
| P1 || M2 || Username + password forms: registration || {{bug|571418}} ||
|-
| P1 || M2 || HTTP Auth: sign in/sign out || - ||
|-
| P2 || M3 || HTTP Auth: registration || - ||
|-
| P1 || M2 || OpenID: connect/disconnect || - ||
|-
| P2 || M2 || Proprietary federated: connect/disconnect || - ||
|-
| P3 || M2 || OAuth: connect/disconnect || - ||
|-
|}


{| width="100%" cellpadding="3"
;Security fixes
|-
* shouldn't support http form auth transparently without more warning
| style="background-color: #efefef;" colspan="5" | '''Synth Realms'''
* explicitly only allow http/https realm uri (and not ftp, etc)
|-
* only allow https realms from https requests
| style="background-color: #efefef; width: 20px"| '''Priority'''
* login csrf: amcd enforces where it can be used on which sites
| style="background-color: #efefef; width: 20px"| '''Target'''
* login csrf: link header URI needs to be restricted to the site
| style="background-color: #efefef;"| '''Item'''
* make sure Link header URI and host-meta URI aren't conflicting if header is missing ?
| style="background-color: #efefef;"| '''Bug'''
* STS support - should Just Work, but test that requests get upgraded correctly
| style="background-color: #efefef;"| '''Status'''
* ensure that SSL cert errors are handled appropriately
|-
| P1 || M3 || Synth realm API for addons || ||
|-
| P3 || M3 || Synth realm demo add-on, Fb support || ||
|-
|}


= Requirements =
= Requirements =
Line 128: Line 115:


* Disables itself during private browsing mode [P1]
* Disables itself during private browsing mode [P1]
= Non-Goals =
* Greasemonkey-like hacks that work only on one site, except as needed only to demonstrate the potential for the feature.
* Creating new and interesting authentication/authorization schemes.
* Extensive hacking on Password Manager-like heuristics to make it only sort of work on more sites.


= Dependencies =
= Dependencies =
Line 138: Line 131:
= Mockups =
= Mockups =


[[File:Account manager i2.png|200px|thumb|left|Design 1]]
[[File:Account manager i2.png|200px|thumb|left|Iteration 2]]
 
[https://wiki.mozilla.org/images/e/e2/Account_manager_i6.png Iteration 6] (direct link - doesn't thumbnail correctly).


<br clear="all"/>
<br clear="all"/>


= Testing =
= Related Projects / Other Links =
= Related Projects / Other Links =


* [[Firefox/Projects/SiteIdentity|Site Identity]]
* [[Labs/Weave/Identity/Account_Manager|Account Manager Labs project]]
* [[Labs/Weave/Identity/Account_Manager|Account Manager Labs project]]
* [https://groups.google.com/group/mozilla-labs-online-identity?pli=1 Google Group]


We held an in-person meetup on May 21st, see:
We held an in-person meetup on May 21st, see:
* [[Firefox/Projects/AccountManager/Meetup|The meetup page]] (with notes).
* [[Firefox/Projects/AccountManager/Meetup|The meetup page]] (with notes).
* [[Firefox/Projects/AccountManager/Meetup/Analysis|Distilled analysis]] from discussions at the meetup.
* [[Firefox/Projects/AccountManager/Meetup/Analysis|Distilled analysis]] from discussions at the meetup.
946

edits

Navigation menu