comparison mod_http_oauth2/mod_http_oauth2.lua @ 5628:9aace51c3637

mod_http_oauth2: Bail on invalid or expired device flow state token
author Kim Alvefur <zash@zash.se>
date Fri, 04 Aug 2023 01:11:01 +0200
parents a44af1b646f5
children ef0a283507c9
comparison
equal deleted inserted replaced
5627:3a5cf8d80089 5628:9aace51c3637
398 if params.redirect_uri == device_uri then 398 if params.redirect_uri == device_uri then
399 local is_device, device_state = verify_device_token(params.state); 399 local is_device, device_state = verify_device_token(params.state);
400 if is_device then 400 if is_device then
401 -- reconstruct the device_code 401 -- reconstruct the device_code
402 code = b64url(hashes.hmac_sha256(verification_key, device_state.user_code)); 402 code = b64url(hashes.hmac_sha256(verification_key, device_state.user_code));
403 else
404 return oauth_error("invalid_request");
403 end 405 end
404 end 406 end
405 local ok = codes:set("authorization_code:" .. params.client_id .. "#" .. code, { 407 local ok = codes:set("authorization_code:" .. params.client_id .. "#" .. code, {
406 expires = os.time() + 600; 408 expires = os.time() + 600;
407 granted_jid = granted_jid; 409 granted_jid = granted_jid;