Note: You are currently viewing documentation for Moodle 3.4. Up-to-date documentation for the latest stable version of Moodle is likely available here: Google OAuth 2.0 setup.

Google OAuth 2.0 setup: Difference between revisions

From MoodleDocs
No edit summary
(→‎Registering with Google: enabling the Drive API)
 
(10 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{Repositories}}
{{Repositories}}
''Note: This page contains information for site administrators only.''
''Note: This page contains information for site administrators only.''
==OAuth 2.0==
Prior to Moodle 2.3, the [[Google Drive repository]] and [[Picasa web album repository]] and the [[Google Docs portfolio]] and [[Picasa portfolio]] could be used without any configuration or registration with Google. In April 2012, [http://googledevelopers.blogspot.com/2012/04/changes-to-deprecation-policies-and-api.html Google announced] to web application developers that they would be deprecating the service which Moodle was using to communicate with Google and strongly advised developers to move away from it. As a response to this change with Google's service, Moodle switched to use a new system for communicating with Google called 'OAuth 2.0'. The OAuth 2.0 system provides a better security system and more friendly experience to Moodle users, though it requires some additional configuration in Moodle.


==Registering with Google==
==Registering with Google==


Each Moodle site now needs to be registered with Google in order to use the Google Drive, Docs or Picasa plugins. As part of the registration process, you will need to enter a URL (something like <nowiki>http://yourmoodlesite.org/admin/oauth2callback.php</nowiki>) which is provided on all Google Drive, Docs and Picasa plugins configuration pages in Moodle e.g. ''Settings > Site administration > Plugins > Repositories > Google Drive''.
Each Moodle site needs to be registered with Google i.e. have a Google Developers Console project in order to use the Google Drive, Docs or Picasa plugins. As part of the registration process, you will need to enter an authorized redirect URI (something like <nowiki>http://yourmoodlesite.org/admin/oauth2callback.php</nowiki>) which is provided on all Google Drive, Docs and Picasa plugins configuration pages in Moodle, such as ''Site administration > Plugins > Repositories > Google Drive''.


# Visit the [https://code.google.com/apis/console#access Google APIs Console] (or the new URL [https://cloud.google.com/console/project#access Google Cloud APIs Console]) and sign into your google account. You will be asked to create a project if this is your first time using this form.
To create a Google Developers Console project:
# Click the link on the left "API Access"
# Click the button 'Create an OAuth 2.0 client ID'
# Enter the branding information 'Product name' (i.e. the name of your Moodle site) and 'Product logo' (i.e. the URL of your site logo). By providing a descriptive name and link to distinct image then your users will know they are signing into the correct place.
# Click the Next button
# In 'Client ID Settings' select 'Web application' as application type.
# Click the '(more options)' link next to 'Your site or hostname' then in 'Authorized Redirect URIs' enter the URL (something like <nowiki>http://yourmoodlesite.org/admin/oauth2callback.php</nowiki>) from the plugin configuration page in Moodle, and leave the 'Authorized JavaScript Origins' field blank
# Click the button 'Create client ID'


The Google Drive repository plugin also requires the Drive API to be enabled as follows:
# Go to the [https://console.developers.google.com/ Google Developers Console] and sign in to your Google account.
# Follow the instructions provided in the Google Developers doc [https://developers.google.com/identity/sign-in/web/devconsole-project Creating a Google Developers Console project and client ID].
# When creating a new Client ID
#* In the Application type section of the dialog, select Web application.
#* Leave the Authorized JavaScript origins field empty and in the Authorized redirect URI field, enter the URL from your site.


# In the [https://code.google.com/apis/console#access Google APIs Console] click the link on the left "APIs"
Tip: If you have more than one Moodle site to register with Google, you can add an authorized redirect URI for each site. The same name and logo would then be displayed on the authorisation screen for each Moodle site.
# Click the button opposite Drive API to turn it on


Your site will then be registered with Google and you will be provided with a client ID and secret to configure all Google Drive, Docs and Picasa plugins.
You will also need to enable the Drive API:


Tip: If you have more than one Moodle site to register with Google, you can add an authorized redirect URI for each site in step 7. The same name and logo would then be displayed on the authorisation screen for each Moodle site.
# In Google API manager, under Google Apps APIs, follow the link 'Drive API'.
# Click the button to enable it.


==Configuring the Google Drive and Picasa repositories==


<gallery perrow=3 caption="Registering with Google - click on each to enlarge">
# Go to ''Administration > Site administration > Plugins > Repositories > Manage Repositories''
Image:google_oauth1.png|1. Create project
# Activate the Google Drive and/or Picasa repositories by selecting 'Enable and visible' in the dropdown menu
File:google_oauth2.png|2. Creating an OAuth 2.0 Client ID
File:google_oauth3.png|3. Branding information
File:google_oauth4.png|6. Client ID settings
File:DriveAPI.png|7. Enabling the Drive API
File:google_oauth5.png|Registered details
File:google_oauth6.png|Authorisation screen
</gallery >
 
==Configuring the Google Docs and Picasa repositories==
 
# Go to ''Settings > Site administration > Plugins > Repositories > Manage Repositories''
# Activate the Google Docs and/or Picasa repositories by selecting 'Enable and visible' in the dropdown menu
# Configure each repository by entering the client ID and secret. Make sure you don't include any white space in the text boxes!
# Configure each repository by entering the client ID and secret. Make sure you don't include any white space in the text boxes!
# Save changes
# Save changes


==Configuring the Google Docs and Picasa portfolios==
==Configuring the Google Drive and Picasa portfolios==


# Go to ''Settings > Site administration > Plugins > Portfolios > Manage Portfolios''
# Go to ''Administration > Site administration > Plugins > Portfolios > Manage Portfolios''
# Activate the Google Docs and/or Picasa portfolios by selecting 'Enable and visible' in the dropdown menu
# Activate the Google Drive and/or Picasa portfolios by selecting 'Enable and visible' in the dropdown menu
# Configure each portfolio by entering the client ID and secret
# Configure each portfolio by entering the client ID and secret
# Save changes
# Save changes


Once configured, Google will present Moodle users with a nice authorisation screen with your Moodle site name and logo for your users to authorise.
Once configured, Google will present Moodle users with a nice authorisation screen with your Moodle site name and logo for your users to authorise.

Latest revision as of 13:02, 18 April 2016

Note: This page contains information for site administrators only.

Registering with Google

Each Moodle site needs to be registered with Google i.e. have a Google Developers Console project in order to use the Google Drive, Docs or Picasa plugins. As part of the registration process, you will need to enter an authorized redirect URI (something like http://yourmoodlesite.org/admin/oauth2callback.php) which is provided on all Google Drive, Docs and Picasa plugins configuration pages in Moodle, such as Site administration > Plugins > Repositories > Google Drive.

To create a Google Developers Console project:

  1. Go to the Google Developers Console and sign in to your Google account.
  2. Follow the instructions provided in the Google Developers doc Creating a Google Developers Console project and client ID.
  3. When creating a new Client ID
    • In the Application type section of the dialog, select Web application.
    • Leave the Authorized JavaScript origins field empty and in the Authorized redirect URI field, enter the URL from your site.

Tip: If you have more than one Moodle site to register with Google, you can add an authorized redirect URI for each site. The same name and logo would then be displayed on the authorisation screen for each Moodle site.

You will also need to enable the Drive API:

  1. In Google API manager, under Google Apps APIs, follow the link 'Drive API'.
  2. Click the button to enable it.

Configuring the Google Drive and Picasa repositories

  1. Go to Administration > Site administration > Plugins > Repositories > Manage Repositories
  2. Activate the Google Drive and/or Picasa repositories by selecting 'Enable and visible' in the dropdown menu
  3. Configure each repository by entering the client ID and secret. Make sure you don't include any white space in the text boxes!
  4. Save changes

Configuring the Google Drive and Picasa portfolios

  1. Go to Administration > Site administration > Plugins > Portfolios > Manage Portfolios
  2. Activate the Google Drive and/or Picasa portfolios by selecting 'Enable and visible' in the dropdown menu
  3. Configure each portfolio by entering the client ID and secret
  4. Save changes

Once configured, Google will present Moodle users with a nice authorisation screen with your Moodle site name and logo for your users to authorise.