Sto usando flask-mwoauth
per creare una semplice applicazione in Flask usando l'autenticazione OAuth su Mediawiki (e Wikipedia in particolare).Come eseguire l'override di un URL blueprint del pallone?
flask-mwoauth
è un progetto che fornisce alcuni metodi di convenienza per interagire con Mediawiki Extensions: OAuth e aggiunge i seguenti URI:
/login
- corre la stretta di mano OAuth e riporta l'utente al/
/login?next=/someurl
restituirà l'utente a/someurl
/logout
- cancella degli utenti token di accesso/logout?next=/someurl
restituirà all'utente di/someurl
/oauth-callback
- richiamata da MW a finire la stretta di mano
Gli utenti chiave OAuth e il segreto sono memorizzati nella sessione.
Mi piacerebbe essere in grado di creare risposte personalizzate per alcuni di questi URI personalizzati. Prendiamo ad esempio /logout
, la definizione della risposta in modo molto semplice():
@self.bp.route('/logout')
def logout():
session['mwo_token'] = None
session['username'] = None
if 'next' in request.args:
return redirect(request.args['next'])
return "Logged out!"
vorrei definire nella mia applicazione il percorso /logout
con una risposta personalizzata (ad esempio, il rendering di un modello), se Io uso il progetto quindi il percorso @app.route("/logout")
viene ignorato.
Quello che vorrei sapere se è possibile "estendere" il progetto nel senso che posso definire un percorso /logout
nella mia app, chiamare il metodo originale dal progetto e quindi fornire una risposta personalizzata.