branch: externals/auth-source-xoauth2-plugin
commit b9bcc576ad73accd86bee5c11d111d136ea2195a
Author: Xiyue Deng <manp...@gmail.com>
Commit: Xiyue Deng <manp...@gmail.com>

    Add more token info in returned auth data
    
    Those data may be missing in auth-source files when using predefined
    providers, and could be useful for 3rd party tools, e.g. offlineimap.
---
 auth-source-xoauth2-plugin.el | 18 +++++++++++++++++-
 1 file changed, 17 insertions(+), 1 deletion(-)

diff --git a/auth-source-xoauth2-plugin.el b/auth-source-xoauth2-plugin.el
index f28f5eb365..38ac2ce722 100644
--- a/auth-source-xoauth2-plugin.el
+++ b/auth-source-xoauth2-plugin.el
@@ -162,7 +162,23 @@ expected that `token_url', `client_id', `client_secret', 
and
                   (auth-source-do-trivia
                    "Updating :secret with access-token: %s" access-token)
                   (setq auth-data
-                        (plist-put auth-data :secret access-token)))))))
+                        (plist-put auth-data :secret access-token))
+                  ;; Fill fields that may help 3rd party usage,
+                  ;; e.g. offlineimap.
+                  (setq auth-data
+                        (plist-put auth-data :auth-url auth-url))
+                  (setq auth-data
+                        (plist-put auth-data :token-url token-url))
+                  (setq auth-data
+                        (plist-put auth-data :client-id client-id))
+                  (setq auth-data
+                        (plist-put auth-data :client-secret client-secret))
+                  (setq auth-data
+                        (plist-put auth-data :access-token
+                                   (oauth2-token-access-token token)))
+                  (setq auth-data
+                        (plist-put auth-data :refresh-token
+                                   (oauth2-token-refresh-token token))))))))
 
         (auth-source-do-debug "[xoauth2-plugin] auth-data after processing: %s"
                               (pp-to-string auth-data))

Reply via email to