/
backends.clj
78 lines (65 loc) · 2.48 KB
/
backends.clj
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
;; Copyright 2013-2016 Andrey Antukh <niwi@niwi.nz>
;;
;; Licensed under the Apache License, Version 2.0 (the "License")
;; you may not use this file except in compliance with the License.
;; You may obtain a copy of the License at
;;
;; http://www.apache.org/licenses/LICENSE-2.0
;;
;; Unless required by applicable law or agreed to in writing, software
;; distributed under the License is distributed on an "AS IS" BASIS,
;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
;; See the License for the specific language governing permissions and
;; limitations under the License.
(ns buddy.auth.backends
(:require [buddy.auth.backends.httpbasic :as httpbasic]
[buddy.auth.backends.token :as token]
[buddy.auth.backends.session :as session]))
(defn basic
"Create an instance of the http-basic based
authentication backend.
This backend also implements authorization
workflow with some defaults. This means that
you can provide your own unauthorized-handler hook
if the default one does not satisfy you."
([] (basic nil))
([opts] (httpbasic/http-basic-backend opts)))
(def http-basic
"Alias for `basic`."
basic)
(defn session
"Create an instance of the http session based
authentication backend.
This backend also implements authorization
workflow with some defaults. This means that
you can provide your own unauthorized-handler hook
if the default one does not satisfy you."
([] (session nil))
([opts] (session/session-backend opts)))
(defn jws
"Create an instance of the jws (signed JWT)
based authentication backend.
This backend also implements authorization workflow
with some defaults. This means that you can provide
your own unauthorized-handler hook if the default one
does not satisfy you."
([] (jws nil))
([opts] (token/jws-backend opts)))
(defn jwe
"Create an instance of the jwe (encrypted JWT
based authentication backend.
This backend also implements authorization workflow
with some defaults. This means that you can provide
your own unauthorized-handler hook if the default one
does not satisfy you."
([] (jwe nil))
([opts] (token/jwe-backend opts)))
(defn token
"Create an instance of the generic token based
authentication backend.
This backend also implements authorization workflow
with some defaults. This means that you can provide
your own unauthorized-handler hook if the default one
does not satisfy you."
([] (token nil))
([opts] (token/token-backend opts)))