mod_http_oauth2/mod_http_oauth2.lua
changeset 4674 1b81b7269858
parent 4673 d3434fd151b5
child 5002 5ab134b7e510
equal deleted inserted replaced
4673:d3434fd151b5 4674:1b81b7269858
   100 	end
   100 	end
   101 
   101 
   102 	local granted_scopes = filter_scopes(granted_jid, params.scope);
   102 	local granted_scopes = filter_scopes(granted_jid, params.scope);
   103 
   103 
   104 	local code = uuid.generate();
   104 	local code = uuid.generate();
   105 	assert(codes:set(params.client_id .. "#" .. code, {
   105 	local ok = codes:set(params.client_id .. "#" .. code, {
   106 		issued = os.time();
   106 		issued = os.time();
   107 		granted_jid = granted_jid;
   107 		granted_jid = granted_jid;
   108 		granted_scopes = granted_scopes;
   108 		granted_scopes = granted_scopes;
   109 	}));
   109 	});
       
   110 	if not ok then
       
   111 		return {status_code = 429};
       
   112 	end
   110 
   113 
   111 	local redirect = url.parse(params.redirect_uri);
   114 	local redirect = url.parse(params.redirect_uri);
   112 	local query = http.formdecode(redirect.query or "");
   115 	local query = http.formdecode(redirect.query or "");
   113 	if type(query) ~= "table" then query = {}; end
   116 	if type(query) ~= "table" then query = {}; end
   114 	table.insert(query, { name = "code", value = code })
   117 	table.insert(query, { name = "code", value = code })