MDL-59510 core: report oauth2_refresh_token table in core provider
authorJake Dallimore <jake@moodle.com>
Tue, 22 Sep 2020 03:18:17 +0000 (11:18 +0800)
committerJake Dallimore <jake@moodle.com>
Mon, 5 Oct 2020 01:17:14 +0000 (09:17 +0800)
lang/en/moodle.php
lib/classes/privacy/provider.php

index bf203b5..41b2cee 100644 (file)
@@ -1630,6 +1630,13 @@ $string['privacy:metadata:log:module'] = 'module';
 $string['privacy:metadata:log:time'] = 'The time when the action took place';
 $string['privacy:metadata:log:url'] = 'The URL related to the event';
 $string['privacy:metadata:log:userid'] = 'The ID of the user who performed the action';
+$string['privacy:metadata:oauth2_refresh_token'] = 'Refresh token used in OAuth 2.0 communication';
+$string['privacy:metadata:oauth2_refresh_token:issuerid'] = 'The ID of the issuer to which the token corresponds';
+$string['privacy:metadata:oauth2_refresh_token:scopehash'] = 'The ID of the user to whom the token corresponds';
+$string['privacy:metadata:oauth2_refresh_token:token'] = 'The refresh token for the respective scopes and user';
+$string['privacy:metadata:oauth2_refresh_token:timecreated'] = 'The time when the token was created';
+$string['privacy:metadata:oauth2_refresh_token:timemodified'] = 'The time when the token was last updated';
+$string['privacy:metadata:oauth2_refresh_token:userid'] = 'The ID of the user to whom the token corresponds';
 $string['privacy:metadata:task_adhoc'] = 'The status of ad hoc tasks.';
 $string['privacy:metadata:task_adhoc:component'] = 'The component owning the task.';
 $string['privacy:metadata:task_adhoc:nextruntime'] = 'The earliest time to run this task.';
index bc9b8f8..e49598b 100644 (file)
@@ -114,6 +114,17 @@ class provider implements
             'info' => 'privacy:metadata:log:info'
         ], 'privacy:metadata:log');
 
+        // The oauth2_refresh_token stores refresh tokens, allowing ongoing access to select oauth2 services.
+        // Such tokens are not considered to be user data.
+        $collection->add_database_table('oauth2_refresh_token', [
+            'timecreated' => 'privacy:metadata:oauth2_refresh_token:timecreated',
+            'timemodified' => 'privacy:metadata:oauth2_refresh_token:timemodified',
+            'userid' => 'privacy:metadata:oauth2_refresh_token:userid',
+            'issuerid' => 'privacy:metadata:oauth2_refresh_token:issuerid',
+            'token' => 'privacy:metadata:oauth2_refresh_token:token',
+            'scopehash' => 'privacy:metadata:oauth2_refresh_token:scopehash'
+        ], 'privacy:metadata:oauth2_refresh_token');
+
         return $collection;
     }