Commit Graph

27 Commits

Author SHA1 Message Date
Marina Glancy
57a444d31f MDL-71017 oath2: configuration check fix and return types 2021-04-20 12:07:54 +02:00
David Matamoros
5a6f05c605 MDL-71017 tool_oauth2: Small fixes on Oauth 2 services UI and tests 2021-04-20 10:50:44 +02:00
Marina Glancy
0152fdbdff MDL-71017 oauth2: configure some oauth2 services for login only 2021-04-20 10:50:40 +02:00
Sara Arjona
5d93de8b67 MDL-70722 core_badges: minor fixes from MDL-70689
In MDL-70689, Eloy and Helen suggested some fixes to improve this patch.
As this is a followup issue to move the pending services, this
very first commit will fix pending things raised in the parent issue.
2021-03-26 09:20:52 +01:00
Sara Arjona
5066c60206 MDL-70689 oauth2: add support to IMS OBv2.1 service
In order to make easier to create and maintain new OAuth2 services,
a couple of classes have been added:

- discovery\* contains methods related to the discovery system. Until
now, only OpenID Connect was supported by Moodle so all the code was
centralised in api.php.
With this patch, as IMS OBv2.1 has a different discovery system, a new
abstract class (base_definition) has been added to be called and let
every discovery system (OpenID Connect, IMS Badge Connect...)
implement their own methods.

- service\* . Instead of keep adding methods to the api, the service
namespace has been created to store all the standard issuer services.
An interface (issuer_interface) has been created and all the services
should implement it.
This patch creates the "IMS OBv2.1" and "Custom" services and moves
the methods for "Google" service because it uses the OpenID connect
discovery system.
2021-03-12 12:31:22 +01:00
Jan Dageförde
daef88213b MDL-58943 oauth2: use standard way of URL validation 2018-10-31 10:42:58 +08:00
Tobias Reischmann
3e3e120d3a MDL-58943 oauth2: Added nextcloud to standard issuers
* New button allows to create standard issuer for nextcloud
* Since the endpoints url has to be https and nextcloud relys on the
baseurl to create the endpoints, the baseurl of issuers has now to be
https as well (or empty).
* Google's baseurl was changed to https (there was no reason not to),
whereas Facebook and Microsoft baseurls remain empty.
* In case of the creation of a nextcloud issuer, the baseurl is
required.
* Nextcloud requires the baseurl, therefore a parameter is added to
create_standard_issuer($type, $baseurl = false). That parameter not
required (or used) for anything but Nextcloud.
2018-10-31 10:42:58 +08:00
yair.spielmann
b323508554 MDL-59512 tool_oauth2: add option for basic authentication 2017-11-17 10:15:29 +01:00
Damyon Wiese
859e2033cb MDL-58544 oauth2: Allow trusted issuers
Add a setting to each issuer that skips the email confirmation when creating and linking accounts.
2017-06-27 16:50:27 +08:00
Damyon Wiese
0b1a14aef9 MDL-58280 fileconverter_googledrive: More helpful errors
Detect some config errors and give a better error message.
2017-04-20 11:28:06 +08:00
Damyon Wiese
7949b3b2ac MDL-58220 oauth2: Remove is_system_account_setup_supported
This was left from an earlier branch but no longer useful.
2017-04-03 13:43:26 +08:00
Damyon Wiese
5b0b35c096 MDL-58220 oauth2: Add is_configured to issuer
Saves repeated checks for clientid and clientsecret.
2017-04-03 13:43:25 +08:00
Damyon Wiese
8d90d29460 MDL-58220 oauth2: Use iputils to check domain
Allows wild cards and more strict checking against spec.
2017-04-03 13:43:25 +08:00
Damyon Wiese
4a32445dc9 MDL-58220 oauth2: use PARAM_RAW_TRIMMED
Client ID and secret and copy/pasted from elsewhere so trim them.
2017-04-03 13:43:25 +08:00
Damyon Wiese
99e3c347f9 MDL-58220 oauth2: Minor cleanups
Fixes spotted by Jun in peer review.
2017-04-03 13:43:25 +08:00
Damyon Wiese
fa78244d17 MDL-58220 oauth2: Fix unit tests and add more 2017-04-03 13:43:25 +08:00
Damyon Wiese
092304a3de MDL-58220 oauth2: Cibot fixes
Missing phpdocs.
2017-04-03 13:43:25 +08:00
Damyon Wiese
c21a66e40a MDL-58220 auth_oauth2: Restrict logins to a set of domains
This is set on the issuer, so you can have different lists for each oauth2 provider.
2017-04-03 13:43:25 +08:00
Damyon Wiese
eca128bf47 MDL-58220 oauth2: Global enable/disable for issuers. 2017-04-03 13:41:19 +08:00
Damyon Wiese
72fd103add MDL-58219 cibot: Fixes
Fixes for cibot warnings.

Part of MDL-58220
2017-04-03 13:41:19 +08:00
Damyon Wiese
299112498b MDL-58090 oauth2: Coding style
Part of MDL-58220
2017-04-03 13:40:13 +08:00
Damyon Wiese
931c023468 MDL-58090 oauth2: Add unit tests
Part of MDL-58220
2017-04-03 13:40:13 +08:00
Damyon Wiese
f9f243f93e MDL-58090 oauth2: Complete phpdocs
Part of MDL-58220
2017-04-03 13:40:13 +08:00
Damyon Wiese
dc4b56852a MDL-58090 oauth2: Do not install services by default
Instead provide buttons to quickly create pre-configured
versions of any of the known OAuth 2 services.

Part of MDL-58220
2017-04-03 13:40:12 +08:00
Damyon Wiese
ddf65b8c05 MDL-58090 oauth2: Facebook
Add defaults for facebook authentication and drop behaviour field completely.

Part of MDL-58220
2017-04-03 13:39:45 +08:00
Damyon Wiese
485a22fc98 MDL-58090 oauth2: Get rid of behaviour field
OAuth services working fully from config - no more subclasses for each OAuth issuer.

Part of MDL-58220
2017-04-03 13:39:44 +08:00
Damyon Wiese
60237253a2 MDL-58090 oauth2: Store a list of oauth2 services
Build an admin page where OAuth 2 services can be installed and configured.

Part of MDL-58220
2017-04-03 13:39:02 +08:00