1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-12-05 05:02:44 +01:00
phorge-phorge/src/applications/auth/provider/PhabricatorAuthProviderOAuthAsana.php
Bob Trahan 2d43cf1296 OAuth - add a little notes section for admins to remember details about external accounts
Summary: Fixes T4755. This also includes putting in a note that Google might ToS you to use the Google+ API. Lots of code here as there was some repeated stuff between OAuth1 and OAuth2 so I made a base OAuth with less-base OAuth1 and OAuth2 inheriting from it. The JIRA provider remains an independent mess and didn't get the notes field thing.

Test Plan: looked at providers and read pretty instructions.

Reviewers: epriestley

Reviewed By: epriestley

Subscribers: epriestley, Korvin

Maniphest Tasks: T4755

Differential Revision: https://secure.phabricator.com/D8726
2014-04-09 11:09:50 -07:00

50 lines
1.2 KiB
PHP

<?php
final class PhabricatorAuthProviderOAuthAsana
extends PhabricatorAuthProviderOAuth2 {
public function getProviderName() {
return pht('Asana');
}
protected function getProviderConfigurationHelp() {
$app_uri = PhabricatorEnv::getProductionURI('/');
$login_uri = PhabricatorEnv::getURI($this->getLoginURI());
return pht(
"To configure Asana OAuth, create a new application here:".
"\n\n".
"https://app.asana.com/-/account_api".
"\n\n".
"When creating your application, use these settings:".
"\n\n".
" - **App URL:** Set this to: `%s`\n".
" - **Redirect URL:** Set this to: `%s`".
"\n\n".
"After completing configuration, copy the **Client ID** and ".
"**Client Secret** to the fields above.",
$app_uri,
$login_uri);
}
protected function newOAuthAdapter() {
return new PhutilAuthAdapterOAuthAsana();
}
protected function getLoginIcon() {
return 'Asana';
}
public static function getAsanaProvider() {
$providers = self::getAllEnabledProviders();
foreach ($providers as $provider) {
if ($provider instanceof PhabricatorAuthProviderOAuthAsana) {
return $provider;
}
}
return null;
}
}