Mercurial > prosody-modules
comparison mod_http_oauth2/mod_http_oauth2.lua @ 5341:dcb93ffe64ae
mod_http_oauth2: Fix error due to reference loop when using refresh token
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Wed, 12 Apr 2023 11:24:06 +0200 |
parents | cd195283127f |
children | 39d59d857bfb |
comparison
equal
deleted
inserted
replaced
5340:cd195283127f | 5341:dcb93ffe64ae |
---|---|
174 -- Create refresh token for the grant if desired | 174 -- Create refresh token for the grant if desired |
175 refresh_token = refresh_token_info ~= false and tokens.create_token(token_jid, grant, nil, nil, "oauth2-refresh"); | 175 refresh_token = refresh_token_info ~= false and tokens.create_token(token_jid, grant, nil, nil, "oauth2-refresh"); |
176 else | 176 else |
177 -- Grant exists, reuse existing refresh token | 177 -- Grant exists, reuse existing refresh token |
178 refresh_token = refresh_token_info.token; | 178 refresh_token = refresh_token_info.token; |
179 | |
180 refresh_token_info.grant = nil; -- Prevent reference loop | |
179 end | 181 end |
180 | 182 |
181 local access_token, access_token_info = tokens.create_token(token_jid, grant, role, default_access_ttl, "oauth2"); | 183 local access_token, access_token_info = tokens.create_token(token_jid, grant, role, default_access_ttl, "oauth2"); |
182 | 184 |
183 local expires_at = access_token_info.expires; | 185 local expires_at = access_token_info.expires; |