Firefox/Projects/AccountManager: Difference between revisions

 
(11 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:
 
linux: 1.7%
lin64: 2.4%
macos: 0.2%
mac64: 2.0%
winxp: 1.3%
win 7: 0.5%
 
;[[Firefox/Projects/AccountManager/SecurityReview|Security Review]]
 
In progress on Sept 1 3pm
 
= Helping Out =


We're keeping track of sites that support Account Manager, see [[Firefox/Projects/AccountManager/SupportedSites|this list]].
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.


= Goals =
Then see the TODO section on this page for open items to work on.


= Non-Goals =
Thanks!
 
= TODO =
 
;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]


* Greasemonkey-like hacks that work only on one site, except as needed only to demonstrate the potential for the feature.
;Backend features
* Creating new and interesting authentication/authorization schemes.
* cookie-watching (refresh status on cookie changes) [~1day]
* Extensive hacking on Password Manager-like heuristics to make it only sort of work on more sites.
* per-method static parameters (for forms that use a hidden param to determine action)
* per-method dynamic parameters (for e.g. CSRF protection)


= Timeline/Milestones =
;Password manager integration
* {{bug|589362}}
* use new password manager columns for account lookup/saving
** migration (set account realm for existing saved logins) [~1 day]
** also on password manager end (when saving new password) [~1 day (dolske?)]


* [https://bugzilla.mozilla.org/show_bug.cgi?id=571409 Tracking bug]
;Security fixes
* shouldn't support http form auth transparently without more warning
* explicitly only allow http/https realm uri (and not ftp, etc)
* only allow https realms from https requests
* login csrf: amcd enforces where it can be used on which sites
* login csrf: link header URI needs to be restricted to the site
* make sure Link header URI and host-meta URI aren't conflicting if header is missing ?
* STS support - should Just Work, but test that requests get upgraded correctly
* ensure that SSL cert errors are handled appropriately


= Requirements =
= Requirements =
Line 70: 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 80: 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