| | |
| | | |
| | | import com.sun.net.httpserver.HttpContext; |
| | | import com.sun.net.httpserver.HttpExchange; |
| | | import com.sun.net.httpserver.HttpHandler; |
| | | import de.uhilger.httpserver.base.handler.HttpHelper; |
| | | import de.uhilger.httpserver.base.handler.HttpResponder; |
| | | import de.uhilger.httpserver.base.HttpHelper; |
| | | import static de.uhilger.httpserver.oauth.BearerLoginHandler.ATTR_AUTHENTICATOR; |
| | | import java.io.IOException; |
| | | |
| | | /** |
| | | * Einen abgelaufenen Token mit Hilfe eines Refresh Token erneuern |
| | | * |
| | | * Gemaess |
| | | * https://www.oauth.com/oauth2-servers/making-authenticated-requests/refreshing-an-access-token/ |
| | | * sieht die HTTP Anfrage zum Refresh wie folgt aus: |
| | | * |
| | | * POST /oauth/token HTTP/1.1 |
| | | * Host: authorization-server.com |
| | | * |
| | | * grant_type=refresh_token |
| | | * &refresh_token=xxxxxxxxxxx |
| | | * &client_id=xxxxxxxxxx |
| | | * &client_secret=xxxxxxxxxx |
| | | * |
| | | * @author Ulrich Hilger |
| | | * @version 1, 08.06.2021 |
| | | */ |
| | | public class BearerRefreshHandler extends BearerLoginHandler { |
| | | |
| | | /** |
| | | * Refresh-Anfrage ausfuehren |
| | | * |
| | | * @param exchange das Objekt mit Informationen zu HTTP-Anfrage und -Antwort |
| | | * @throws IOException |
| | | */ |
| | | @Override |
| | | public void handle(HttpExchange exchange) throws IOException { |
| | | HttpHelper h = new HttpHelper(); |