1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2025-01-10 14:51:06 +01:00
No description
Find a file
epriestley 8c3ef4b73c Support "state" parameter in OAuth
Summary:
Ref T1445. Ref T1536. Although we have separate CSRF protection and have never been vulnerable to OAuth hijacking, properly implementing the "state" parameter provides a little more certainty.

Before OAuth, we set a random value on the client, and pass its hash as the "state" parameter. Upon return, validate that (a) the user has a nonempty "phcid" cookie and (b) the OAuth endpoint passed back the correct state (the hash of that cookie).

Test Plan: Logged in with all OAuth providers, which all apparently support `state`.

Reviewers: btrahan

Reviewed By: btrahan

CC: aran, arice

Maniphest Tasks: T1445, T1536

Differential Revision: https://secure.phabricator.com/D6179
2013-06-16 10:18:56 -07:00
bin Provide 'bin/cache', for managing caches 2013-05-20 10:16:35 -07:00
conf Globally limit the size of generated emails. 2013-06-05 05:47:31 -07:00
externals Add WePay as a one-time payment provider 2013-05-21 15:34:46 -07:00
resources Migrate PhabricatorUserLDAPInfo to PhabricatorExternalAccount 2013-06-16 09:55:55 -07:00
scripts PHUIButtonView class 2013-06-12 18:23:35 -07:00
src Support "state" parameter in OAuth 2013-06-16 10:18:56 -07:00
support Specify HOME when invoking Git commands 2013-05-21 14:14:31 -07:00
webroot Add password authentication and registration to new registration 2013-06-16 10:15:49 -07:00
.arcconfig Use JsShrink if jsxmin is not available 2013-05-18 17:04:22 -07:00
.divinerconfig Centralize rendering of application mail bodies 2012-07-16 19:01:43 -07:00
.editorconfig Specify config for text editors 2012-11-03 22:34:44 -07:00
.gitignore Ignore and README for support/bin 2013-04-03 12:58:39 -07:00
LICENSE Delete license headers from files 2012-11-05 11:16:51 -08:00
NOTICE Increment year. 2013-01-03 05:45:08 -08:00
README Undo accidental commit of garbage to README 2013-05-20 16:16:49 -07:00

Phabricator is an open source collection of web applications which make it
easier to write, review, and share source code. Phabricator was developed at
Facebook.

This is an early release. It's pretty high-quality and usable, but under
active development so things may change quickly.

You can learn more about the project and find links to documentation and
resources at: http://phabricator.org/

LICENSE

Phabricator is released under the Apache 2.0 license except as otherwise noted.