Sto implementando Cloud Endpoints con un'applicazione Python che utilizza l'autenticazione personalizzata (GAE Sessions) anziché Google Account. Ho bisogno di autenticare le richieste provenienti dal client Javascript, quindi mi piacerebbe avere accesso alle informazioni sui cookie.Cookie HTTP Cloud Endpoint
La lettura this other question mi porta a credere che sia possibile, ma forse non documentato. Non ho familiarità con il lato Java di App Engine, quindi non sono sicuro di come tradurre lo snippet in Python. Ecco un esempio di uno dei miei metodi:
class EndpointsAPI(remote.Service):
@endpoints.method(Query_In, Donations_Out, path='get/donations',
http_method='GET', name='get.donations')
def get_donations(self, req):
#Authenticate request via cookie
dove Query_In
e Donations_Out
sono entrambi i messaggi ProtoRPC (messages.Message
). Il parametro req
nella funzione è solo un'istanza di Query_In
e non ho trovato alcuna proprietà correlata ai dati HTTP, tuttavia potrei sbagliarmi.
Qualche idea quando 'HTTP_COOKIE' sarà abilitato? Eseguo un'applicazione aziendale e non è possibile utilizzare Google OAuth come viene utilizzato nell'esempio Tic Tac Toe. Ho esplorato brevemente la creazione del mio provider OAuth2, ma mi è sembrato piuttosto goffo dal momento che gli utenti avrebbero dovuto eseguire l'autenticazione due volte. In ogni caso, l'intestazione 'HTTP_COOKIE' renderebbe la vita molto più semplice. Grazie! – rhefner1
Ecco una patch per le scimmie che funzionerà per te: http://pastebin.com/jT7T6xPS Assicurati di sostituire 'api_config.ApiConfigGenerator' prima di creare il tuo' endpoints.api_server' per servire le richieste. – bossylobster
Grazie Danny! Ha funzionato perfettamente. Presumo in base al messaggio 'logging.warn' che verrà corretto in 1.7.7, quindi è fantastico. – rhefner1