meta data for this page
  •  

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
plugin:oauth2 [2024/07/28 09:43] – [Purpose] duncancplugin:oauth2 [2024/11/20 10:11] (current) – [Installation] duncanc
Line 25: Line 25:
 ===== Installation ===== ===== Installation =====
  
-You need to enable Common Plugin before enabling this plugin and should update Common Plugin to the latest version. On the Manage Plugins page use this package URL +The plugin requires php version 8 and phpList version 3.6.14 or later. You also need to enable Common Plugin before enabling this plugin.
-  https://github.com/bramley/phplist-plugin-common/archive/master.zip+
  
 Install this plugin using the package URL Install this plugin using the package URL
   https://github.com/bramley/phplist-plugin-oauth2/archive/master.zip   https://github.com/bramley/phplist-plugin-oauth2/archive/master.zip
- 
  
  
 ===== Configuration ===== ===== Configuration =====
  
-==== Change to config.php ====+==== Changes to config.php ====
  
 The OAuth2 Redirect URL is used to pass control back to the application, phplist in this case. For this to work properly with phplist you need to add these lines to the config.php file, at the end is fine. This code sets the "samesite" cookie setting to "None" to allow the browser to redirect back to phplist. The OAuth2 Redirect URL is used to pass control back to the application, phplist in this case. For this to work properly with phplist you need to add these lines to the config.php file, at the end is fine. This code sets the "samesite" cookie setting to "None" to allow the browser to redirect back to phplist.
Line 52: Line 50:
 </code> </code>
  
 +=== Use IMAP instead of POP3 ===
 +The plugin uses a package, php-imap2, to retrieve emails from the mailbox. Unlike the php IMAP extension the package does not support POP3, only IMAP. Therefore the mailbox connection settings in config.php will probably need to be changed. For example for Gmail use
 +
 +<code php>
 +$bounce_mailbox_host = 'imap.gmail.com';
 +$bounce_mailbox_port = '993/imap/ssl';
 +</code>
 +
 +instead of 
 +
 +<code php>$bounce_mailbox_host = 'pop3.gmail.com';
 +$bounce_mailbox_port = '995/pop3/ssl';</code>
 ==== The Settings page ==== ==== The Settings page ====
  
-After enabling the plugin there will be an OAuth2 group on the Settings page. You need to enter the fields used when registering the application with Microsoft+After enabling the plugin there will be an OAuth2 group on the Settings page. You need to enter the fields used when registering the application with Microsoft or Google
  
-  * Tenant Id+  * Tenant Id (only for Microsoft)
   * Client Id   * Client Id
   * Client Secret   * Client Secret
Line 62: Line 72:
  
  
-If phplist is installed in the default location then the URL will be similar to this, otherwise adjust for the actual location+If phplist is installed in the default location then the Redirect URL will be similar to this, otherwise adjust for the actual location
   https://mysite.com/lists/admin/?pi=OAuth2&page=authorise   https://mysite.com/lists/admin/?pi=OAuth2&page=authorise
  
-You can select to use OAuth2, instead of the normal password verification, when sending emails using SMTP. 
-Currently the plugin supports having an access token for only one email address, so that email address would need to be used for both sending and receiving emails if this setting is set to Yes. 
  
-The plugin previously had settings for the IMAP mailbox/folder name, the maximum number of bounces to process, and the batch size when processing bounce rules. These have now been replaced by core phplist config.php settings added in phplist release 3.6.14.+=== Redirect URL with Microsoft Azure ===
  
 +Microsoft has restrictions on whether the redirect URL may contain query parameters, see [[https://learn.microsoft.com/en-gb/entra/identity-platform/reply-url#query-parameter-support-in-redirect-uris]]
 +
 +If your account means query parameters in the redirect URL are not allowed then the default value shown above will be rejected when you try to add it within Azure. You will need to use an htaccess redirect rule to work-around this.
 +
 +In Azure set the redirect URL to something similar to ''%%https://mysite.com/OAuth2/authorise%%'' then add a rewrite rule to the .htaccess file in the web root directory but adjust if phplist is not installed in the default location
 +
 +<code>
 +# OAuth2 plugin
 +RewriteCond %{REQUEST_URI}  "/OAuth2/authorise"
 +RewriteRule ^(.*)$ https://mysite.com/lists/admin/?pi=OAuth2&page=authorise [R=307,L,QSA]
 +</code>
 +
 +=== Use Oauth2 when sending using SMTP ===
 +
 +You can select to use OAuth2 verification, instead of the normal password verification, when sending emails using SMTP.
 +
 +Currently the plugin supports having an access token for only one email address, therefore that email address must be used for both sending and receiving emails if this setting is set to Yes. In the config.php file these two values would need to be the same
 +<code php>
 +    $bounce_mailbox_user = 'xxx@gmail.com';
 +
 +    $phpmailer_smtpuser = 'xxx@gmail.com';
 +</code>
  
 ===== Usage ===== ===== Usage =====
Line 132: Line 162:
 </code> </code>
  
-To stop logging simply change DEBUG to OFF.+To stop logging simply change ''DEBUG'' to ''OFF''.