All Projects → wikimedia → phabricator-extensions

wikimedia / phabricator-extensions

Licence: Apache-2.0 license
Github mirror of "phabricator/extensions" - our actual code is hosted in phabricator

Programming Languages

PHP
23972 projects - #3 most used programming language

Projects that are alternatives of or similar to phabricator-extensions

firebase auth oauth
A Flutter plugin that makes it easy to perform OAuth sign in flows using FirebaseAuth.
Stars: ✭ 28 (+115.38%)
Mutual labels:  oauth
yii-auth-client
Yii Framework external authentication via OAuth and OpenID Extension
Stars: ✭ 20 (+53.85%)
Mutual labels:  oauth
Spotify
[READ ONLY] Subtree split of the SocialiteProviders/Spotify Provider (see SocialiteProviders/Providers)
Stars: ✭ 13 (+0%)
Mutual labels:  oauth
Twitch
[READ ONLY] Subtree split of the SocialiteProviders/Twitch Provider (see SocialiteProviders/Providers)
Stars: ✭ 20 (+53.85%)
Mutual labels:  oauth
login-server
Login and connect accounts with multiple identity providers
Stars: ✭ 28 (+115.38%)
Mutual labels:  oauth
VKontakte
[READ ONLY] Subtree split of the SocialiteProviders/VKontakte Provider (see SocialiteProviders/Providers)
Stars: ✭ 82 (+530.77%)
Mutual labels:  oauth
instagram-oauth-nodejs-server
Node.js server for Intagram-API OAuth purpose.
Stars: ✭ 12 (-7.69%)
Mutual labels:  oauth
mediastack
All in one Docker Compose media server
Stars: ✭ 42 (+223.08%)
Mutual labels:  oauth
lumen-oauth2
OAuth2 module for the Lumen PHP framework.
Stars: ✭ 29 (+123.08%)
Mutual labels:  oauth
twauth-web
A simple Python Flask web app that demonstrates the flow of obtaining a Twitter user OAuth access token
Stars: ✭ 65 (+400%)
Mutual labels:  oauth
socialigniter
This is core install of social igniter application. Please follow the Readme below
Stars: ✭ 78 (+500%)
Mutual labels:  oauth
IdentityServer4.PhoneNumberAuth
Sample passwordless phone number authentication using OAuth in ASP.NET Core 2.2
Stars: ✭ 83 (+538.46%)
Mutual labels:  oauth
oauthproxy
This is an oauth2 proxy server
Stars: ✭ 32 (+146.15%)
Mutual labels:  oauth
gerrit-cli
Gerrit in your command lines.
Stars: ✭ 39 (+200%)
Mutual labels:  gerrit
sonar-gerrit-plugin
Jenkins plugin for posting SonarQube issues as Gerrit review comments
Stars: ✭ 21 (+61.54%)
Mutual labels:  gerrit
oauth-example
Example of how to use Netlify OAuth Applications
Stars: ✭ 36 (+176.92%)
Mutual labels:  oauth
supabase-ui-svelte
Supabase authentication UI for Svelte
Stars: ✭ 83 (+538.46%)
Mutual labels:  oauth
AzureADAuthRazorUiServiceApiCertificate
Azure AD flows using ASP.NET Core and Microsoft.Identity
Stars: ✭ 41 (+215.38%)
Mutual labels:  oauth
xing-android-sdk
The Official XING API client for Java/Android
Stars: ✭ 33 (+153.85%)
Mutual labels:  oauth
add-to-org
A simple Oauth App to automatically add users to an organization
Stars: ✭ 24 (+84.62%)
Mutual labels:  oauth

About this repository

This repository contains miscellaneous extensions to Phabricator which are specialized for the needs of the Wikimedia Foundation's Phabricator instance at https://phabricator.wikimedia.org

These extensions provide some basic custom functionality and integration with Wikimedia's systems.

Installation

This Repository consists of a single libphutil module which can be used in phabricator by simply adding the repository root to the list of library paths specified by the key load-libraries within phabricator's config.

For example:

"load-libraries": [
  "/path/to/this/repository/",
  "/path/to/another/extension/"
]

For more details, see this article in the phabricator documentation.

Overview of extensions

The extensions are under the src/ directory, organized into sub-directories by extension type.

src/oauth

PhabricatorMediaWikiAuthProvider and PhutilMediaWikiAuthAdapter constitute an authentication provider adapter that enables Phabricator to use OAuth federation to offload phabricator logins to Mediawiki's OAuth1 endpoint.

src/customfields

Custom fields are extensions which add a field to various objects in Phabricator. Wikimedia makes use of a few custom fields to extend user profile pages and Differential code review pages.

MediaWikiUserpageCustomField

This custom field is used on phabricator user profile pages, displays a link to a user's wiki userpage. The wiki userpage url is discovered by looking up the link which is created by PhabricatorMediaWikiAuthProvider when a user links their mediawiki login to their phabricator account.

LDAPUserpageCustomField

Another custom field used on phabricator user profile pages which simply displays the ldap username that is associated with the user's phabricator account.

DifferentialApplyPatchWithOnlyGitField

A Differential custom field which displays a unix command line which can be copied and pasted into a shell in order to download and apply the patch for a given Differential revision. This is mainly useful for users who do not have arcanist installed, providing an alternative way to apply patches.

src/gerrit

Migration-related extensions facilitating the migration of Wikimedia code review from gerrit to differential.

GerritApplication and GerritProjectController handle redirecting links from gerrit to diffusion repositories.

This allows diffusion to replace git.wikimedia.org as the primary way to browse the source code of various Wikimedia projects. The reason this is necessary is because gerrit projects have a hierarchical structure which doesn't map directly to phabricator's flat repository namespace. So our solution was to implement url routing in phabricator with a static map between the old gerrit urls and the corresponding repository "callsigns." The mapping is a static array contained in src/gerrit/GerritProjectMap.php and GerritProjectListController handles printing the full mapping as a list of html links as seen here.

Security Policy Extensions

See src/policy/README

Transaction Rollback

There is a command line tool in bin/rollback which can be used to roll back transactional edits on Maniphest tasks. Other phabricator applications could be supported with a little effort, however, none are supported currently. See src/workflow/RollbackTransactionsWorkflow.php

Other Extensions

These other extensions are used/maintained for use with Wikimedia's phabricator installation.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].