-
Task
-
Resolution: Deferred
-
Minor
-
None
-
4.2
-
MOODLE_402_STABLE
Based on work done in MDL-75650, this issue is scoped with adding the relevant oauth2service_moodlenet plugin. This will allow Moodle to use the resulting service for MoodleNet API calls in future issues.
You can see the other plugins in lib/oauth2/ for reference (once MDL-75650 is done)
This plugin should support the following
- OAuth 2 Authorization Server Metadata (aka discovery using this standard)
- Open* OAuth 2 Dynamic Client Registration
- *This must use the 'open' configuration since:
a) Moodle.net is the planned target and will have open registration for client apps.
b) There isn't currently a means to support token-base registration in core Moodle. The issuer forms only permit registration via the "Base URL" field, and don't allow for tokens to be entered (yet - this may change in the OAuth 2 improvements in future)
- *This must use the 'open' configuration since:
- The plugin config should specify that it requires base URL (this is needed so that discovery, and then registration can take place) as well as indicate support for the above 2 features (discovery, registration)
- Template should contain the application URL 'https://moodle.net' (this can be changed)
User stories
This issue helps satisfy the following user stories:
- As a site admin, I can configure MoodleNet sites as OAuth 2 services, so that theĀ services are available to me when configuring "share to MoodleNet" functionality in my LMS.
- As a teacher, I can "connect" my LMS account to a MoodleNet account, so that it is authorised to share content to MoodleNet.
Note: This will satisfy 1, and is a part of satisfying 2 (since the auth code flow made by the teacher hasn't yet been implemented).
Completion criteria
- I can create a new MoodleNet OAuth 2 service via a button on the OAuth 2 services page
- Upon creation, the client_id and client_secret are provided to Moodle and saved
- Upon creation, the relevant OAuth 2 endpoints will be automatically discovered and populated
- No user field mappings are present after creation (this is not an identity service)
- blocks
-
MDL-75316 (PARENT) Implement LMS foundation for sharing content to MoodleNet (share activities)
-
- Closed
-
-
MDL-75319 Add site administration config to control sharing to MoodleNet
-
- Closed
-
- is blocked by
-
MDL-75650 Add OAuth 2.0 Authorization Server Metadata support to issuers and create MoodleNet issuer
-
- Closed
-