AuthBackendBearer | R Documentation |
Creates AuthBackendBearer class object.
RestRserve::AuthBackend
-> AuthBackendBearer
new()
Creates AuthBackendBearer class object.
AuthBackendBearer$new(FUN)
FUN
Function to perform authentication which takes one arguments - token
.
Returns boolean - whether access is allowed for a requested token
or not.
authenticate()
Provide authentication for the given request.
AuthBackendBearer$authenticate(request, response)
request
Request object.
response
Response object.
Boolean - whether access is allowed for a requested user
or not.
clone()
The objects of this class are cloneable with this method.
AuthBackendBearer$clone(deep = FALSE)
deep
Whether to make a deep clone.
AuthMiddleware Request Response
Other AuthBackend:
AuthBackend
,
AuthBackendBasic
,
AuthMiddleware
token_db = list(
"valid-token" = as.POSIXct("2099-12-31", tz = "GMT"),
"expired-token" = as.POSIXct("1900-01-01", tz = "GMT")
)
auth_fun = function(token) {
if (is.null(token_db[[token]])) return(FALSE) # not found
if (Sys.time() > token_db[[token]]) return(FALSE) # expired
return(TRUE)
}
# init backend
auth_backend = AuthBackendBearer$new(FUN = auth_fun)
# test backend
# define credentials (see RFC)
token = "valid-token"
# generate request headers
h = list("Authorization" = sprintf("Bearer %s", token))
# simulate request
rq = Request$new(path = "/", headers = h)
# init response object
rs = Response$new()
# perform authentication
auth_backend$authenticate(rq, rs) # TRUE
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.