[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/oauth2 61bcabe 16/23: oauth2: send authentication token
From: |
Stefan Monnier |
Subject: |
[elpa] externals/oauth2 61bcabe 16/23: oauth2: send authentication token via Authorization header |
Date: |
Tue, 1 Dec 2020 16:32:00 -0500 (EST) |
branch: externals/oauth2
commit 61bcabe6f48f36326ba73eaa26cff796cf5284d9
Author: Julien Danjou <julien@danjou.info>
Commit: Julien Danjou <julien@danjou.info>
oauth2: send authentication token via Authorization header
---
oauth2.el | 39 ++++++++++++++++++++++++---------------
1 file changed, 24 insertions(+), 15 deletions(-)
diff --git a/oauth2.el b/oauth2.el
index 180f791..073ce37 100644
--- a/oauth2.el
+++ b/oauth2.el
@@ -1,9 +1,9 @@
;;; oauth2.el --- OAuth 2.0 Authorization Protocol
-;; Copyright (C) 2011-2013 Free Software Foundation, Inc
+;; Copyright (C) 2011-2016 Free Software Foundation, Inc
;; Author: Julien Danjou <julien@danjou.info>
-;; Version: 0.10
+;; Version: 0.11
;; Keywords: comm
;; This file is part of GNU Emacs.
@@ -189,18 +189,28 @@ This allows to store the token in an unique way."
(defvar oauth--url-advice nil)
(defvar oauth--token-data)
+(defun oauth2-authz-bearer-header (token)
+ "Return 'Authoriztions: Bearer' header with TOKEN."
+ (cons "Authorization" (format "Bearer %s" token)))
+
+(defun oauth2-extra-headers (extra-headers)
+ "Return EXTRA-HEADERS with 'Authorization: Bearer' added."
+ (cons (oauth2-authz-bearer-header (oauth2-token-access-token (car
oauth--token-data)))
+ extra-headers))
+
+
;; FIXME: We should change URL so that this can be done without an advice.
(defadvice url-http-handle-authentication (around oauth-hack activate)
(if (not oauth--url-advice)
ad-do-it
(let ((url-request-method url-http-method)
(url-request-data url-http-data)
- (url-request-extra-headers url-http-extra-headers)))
- (url-retrieve-internal (oauth2-url-append-access-token
- (oauth2-refresh-access (car oauth--token-data))
- (cdr oauth--token-data))
- url-callback-function
- url-callback-arguments)
+ (url-request-extra-headers
+ (oauth2-extra-headers url-http-extra-headers))))
+ (oauth2-refresh-access (car oauth--token-data))
+ (url-retrieve-internal (cdr oauth--token-data)
+ url-callback-function
+ url-callback-arguments)
;; This is to make `url' think it's done.
(when (boundp 'success) (setq success t)) ;For URL library in Emacs<24.4.
(setq ad-return-value t))) ;For URL library in Emacsā„24.4.
@@ -213,9 +223,9 @@ TOKEN can be obtained with `oauth2-auth'."
(let ((oauth--url-advice t) ;Activate our advice.
(url-request-method request-method)
(url-request-data request-data)
- (url-request-extra-headers request-extra-headers))
- (url-retrieve-synchronously
- (oauth2-url-append-access-token token url)))))
+ (url-request-extra-headers
+ (oauth2-extra-headers request-extra-headers)))
+ (url-retrieve-synchronously url))))
;;;###autoload
(defun oauth2-url-retrieve (token url callback &optional
@@ -229,10 +239,9 @@ when finished. See `url-retrieve'."
(let ((oauth--url-advice t) ;Activate our advice.
(url-request-method request-method)
(url-request-data request-data)
- (url-request-extra-headers request-extra-headers))
- (url-retrieve
- (oauth2-url-append-access-token token url)
- callback cbargs))))
+ (url-request-extra-headers
+ (oauth2-extra-headers request-extra-headers)))
+ (url-retrieve url callback cbargs))))
(provide 'oauth2)
- [elpa] externals/oauth2 f4f8aca 13/23: oauth2: release 0.9, require url-http, (continued)
- [elpa] externals/oauth2 f4f8aca 13/23: oauth2: release 0.9, require url-http, Stefan Monnier, 2020/12/01
- [elpa] externals/oauth2 e807082 02/23: * packages/oauth2/oauth2.el: Reformat to avoid long lines., Stefan Monnier, 2020/12/01
- [elpa] externals/oauth2 ba35131 05/23: oauth2: allow to use any HTTP request type, Stefan Monnier, 2020/12/01
- [elpa] externals/oauth2 e94f9f1 08/23: * packages/oauth2/oauth2.el: Don't use aget, update to 0.4, Stefan Monnier, 2020/12/01
- [elpa] externals/oauth2 a51dda4 04/23: * oauth2.el: Require json., Stefan Monnier, 2020/12/01
- [elpa] externals/oauth2 6824409 09/23: * packages/oauth2/oauth2.el: Revert fix URL double escaping, update to 0.5, Stefan Monnier, 2020/12/01
- [elpa] externals/oauth2 d5e5e70 10/23: oauth2: add redirect-uri parameter, update to 0.6, Stefan Monnier, 2020/12/01
- [elpa] externals/oauth2 1d352b3 17/23: Fix some quoting problems in doc strings, Stefan Monnier, 2020/12/01
- [elpa] externals/oauth2 86a4afd 19/23: fix(oauth2): rename forgotten instance of resource-url -> scope, Stefan Monnier, 2020/12/01
- [elpa] externals/oauth2 7619d08 23/23: * .gitignore: New file, Stefan Monnier, 2020/12/01
- [elpa] externals/oauth2 61bcabe 16/23: oauth2: send authentication token via Authorization header,
Stefan Monnier <=
- [elpa] externals/oauth2 bf96d9f 11/23: oauth2: store access-reponse, bump versino to 0.7, Stefan Monnier, 2020/12/01
- [elpa] externals/oauth2 bcf36ae 18/23: feat(oauth2): add state parameter support, rename resource-url to scope, Stefan Monnier, 2020/12/01
- [elpa] externals/oauth2 0abcea1 15/23: oauth2.el: Add support for async retrieve., Stefan Monnier, 2020/12/01
- [elpa] externals/oauth2 54da2ff 21/23: * packages/oauth2/oauth2.el: Use lexical-binding, cl-lib, and nadvice, Stefan Monnier, 2020/12/01
- [elpa] externals/oauth2 b383a42 22/23: * packages/oauth2/oauth2.el: update version to 0.15, Stefan Monnier, 2020/12/01
- [elpa] externals/oauth2 8f5cf79 14/23: * oauth2.el: Only require CL at compile time and avoid flet., Stefan Monnier, 2020/12/01
- [elpa] externals/oauth2 9108df0 20/23: feat(oauth2): do not include &client_secret if no client_secret set, Stefan Monnier, 2020/12/01