Add unified policy to sign in/up to Azure Active Directory plugin - refs BT#12674

pull/2487/head
Angel Fernando Quiroz Campos 9 years ago
parent f21c65a6d4
commit 63bf4de1f4
  1. 21
      plugin/azure_active_directory/index.php
  2. 3
      plugin/azure_active_directory/lang/english.php
  3. 7
      plugin/azure_active_directory/src/AzureActiveDirectory.php
  4. 23
      plugin/azure_active_directory/view/block.tpl

@ -4,11 +4,28 @@
* @author Angel Fernando Quiroz Campos <angel.quiroz@beeznest.com>
* @package chamilo.plugin.azure_active_directory
*/
/** @var AzureActiveDirectory $activeDirectoryPlugin */
$activeDirectoryPlugin = AzureActiveDirectory::create();
if ($activeDirectoryPlugin->get(AzureActiveDirectory::SETTING_ENABLE) === 'true') {
$signUp = $activeDirectoryPlugin->get(AzureActiveDirectory::SETTING_SIGNIN_POLICY);
$signIn = $activeDirectoryPlugin->get(AzureActiveDirectory::SETTING_SIGNUP_POLICY);
$signUnified = $activeDirectoryPlugin->get(AzureActiveDirectory::SETTING_SIGNUNIFIED_POLICY);
$_template['block_title'] = $activeDirectoryPlugin->get(AzureActiveDirectory::SETTING_BLOCK_NAME);
$_template['signup_url'] = $activeDirectoryPlugin->getUrl(AzureActiveDirectory::URL_TYPE_SIGNUP);
$_template['signin_url'] = $activeDirectoryPlugin->getUrl(AzureActiveDirectory::URL_TYPE_SIGNIN);
if ($signUp) {
$_template['signup_url'] = $activeDirectoryPlugin->getUrl(AzureActiveDirectory::URL_TYPE_SIGNUP);
}
if ($signIn) {
$_template['signin_url'] = $activeDirectoryPlugin->getUrl(AzureActiveDirectory::URL_TYPE_SIGNIN);
}
if ($signUnified) {
$_template['signunified_url'] = $activeDirectoryPlugin->getUrl(AzureActiveDirectory::URL_TYPE_SIGNUNIFIED);
}
$_template['signout_url'] = $activeDirectoryPlugin->getUrl(AzureActiveDirectory::URL_TYPE_SIGNOUT);
}

@ -17,4 +17,7 @@ $strings['signup_policy'] = 'Sign up policy';
$strings['signup_policy_help'] = 'Enter your sign up policy name, e.g.g b2c_1_sign_up';
$strings['signin_policy'] = 'Sign in policy';
$strings['signin_policy_help'] = 'Enter your sign in policy name, e.g. b2c_1_sign_in';
$strings['signunified_policy'] = 'Unified sign in and sign up policy';
$strings['signunified_policy_help'] = 'Enter your name of unified sign in and sign up policy, e.g. b2c_1_sign_unified';
$strings['block_name'] = 'Block name';
$strings['SignUpAndSignIn'] = 'Sign up and sign in';

@ -11,9 +11,11 @@ class AzureActiveDirectory extends Plugin
const SETTING_TENANT = 'tenant';
const SETTING_SIGNUP_POLICY = 'signup_policy';
const SETTING_SIGNIN_POLICY = 'signin_policy';
const SETTING_SIGNUNIFIED_POLICY = 'signunified_policy';
const SETTING_BLOCK_NAME = 'block_name';
const URL_TYPE_SIGNUP = 'sign-up';
const URL_TYPE_SIGNIN = 'sign-in';
const URL_TYPE_SIGNUNIFIED = 'sign-unified';
const URL_TYPE_SIGNOUT = 'sign-out';
/**
@ -27,10 +29,11 @@ class AzureActiveDirectory extends Plugin
self::SETTING_TENANT => 'text',
self::SETTING_SIGNUP_POLICY => 'text',
self::SETTING_SIGNIN_POLICY => 'text',
self::SETTING_SIGNUNIFIED_POLICY => 'text',
self::SETTING_BLOCK_NAME => 'text'
];
parent::__construct('1.0', 'Angel Fernando Quiroz Campos', $settings);
parent::__construct('1.1', 'Angel Fernando Quiroz Campos', $settings);
}
/**
@ -83,6 +86,8 @@ class AzureActiveDirectory extends Plugin
if ($urlType === self::URL_TYPE_SIGNIN) {
$policy = $settings[self::SETTING_SIGNIN_POLICY];
} elseif ($urlType === self::URL_TYPE_SIGNUNIFIED) {
$policy = $settings[self::SETTING_SIGNUNIFIED_POLICY];
}
$urlParams = [

@ -1,12 +1,19 @@
<div id="azure-active-directory-login">
{% if _u.logged %}
{# <a href="{{ azure_active_directory.signout_url }}" class="btn btn-primary">{{ 'Logout'|get_lang }}</a> #}
{% else %}
{% if not _u.logged %}
<div id="azure-active-directory-login">
{% if not azure_active_directory.block_title is empty %}
<h4>{{ azure_active_directory.block_title }}</h4>
{% endif %}
<a href="{{ azure_active_directory.signin_url }}" class="btn btn-default">{{ 'SignIn'|get_lang }}</a>
<a href="{{ azure_active_directory.signup_url }}" class="btn btn-success">{{ 'SignUp'|get_lang }}</a>
{% endif %}
</div>
{% if not azure_active_directory.signin_url is empty %}
<a href="{{ azure_active_directory.signin_url }}" class="btn btn-default">{{ 'SignIn'|get_lang }}</a>
{% endif %}
{% if not azure_active_directory.signup_url is empty %}
<a href="{{ azure_active_directory.signup_url }}" class="btn btn-success">{{ 'SignUp'|get_lang }}</a>
{% endif %}
{% if not azure_active_directory.signunified_url is empty %}
<a href="{{ azure_active_directory.signunified_url }}" class="btn btn-info">{{ 'SignUpAndSignIn'|get_plugin_lang('AzureActiveDirectory') }}</a>
{% endif %}
</div>
{% endif %}

Loading…
Cancel
Save