Mercurial > prosody-modules
view mod_http_libjs/mod_http_libjs.lua @ 5390:f2363e6d9a64
mod_http_oauth2: Advertise the currently supported id_token signing algorithm
This field is REQUIRED. The algorithm RS256 MUST be included, but isn't
because we don't implement it, as that would require implementing a pile
of additional cryptography and JWT stuff. Instead the id_token is
signed using the client secret, which allows verification by the client,
since it's a shared secret per OpenID Connect Core 1.0 ยง 10.1 under
Symmetric Signatures.
OpenID Connect Discovery 1.0 has a lot of REQUIRED and MUST clauses that
are not supported here, but that's okay because this is served from the
RFC 8414 OAuth 2.0 Authorization Server Metadata .well-known endpoint!
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Sun, 30 Apr 2023 16:13:40 +0200 |
parents | 75b6e5df65f9 |
children |
line wrap: on
line source
local mime_map = module:shared("/*/http_files/mime").types or { css = "text/css", js = "application/javascript", }; local serve; if prosody.process_type == "prosody" then local http_files = require "net.http.files"; serve = http_files.serve; else serve = module:depends"http_files".serve; end local libjs_path = module:get_option_string("libjs_path", "/usr/share/javascript"); do -- sanity check local lfs = require "lfs"; local exists, err = lfs.attributes(libjs_path, "mode"); if exists ~= "directory" then module:log("error", "Problem with 'libjs_path': %s", err or "not a directory"); end end module:provides("http", { default_path = "/share"; route = { ["GET /*"] = serve({ path = libjs_path, mime_map = mime_map }); } });