Google OAuth e local dev
-
18-09-2019 - |
Pergunta
Eu estou tentando usar o Google OAuth para importar contatos de um usuário. A fim de obter uma chave e segredo para você app você tem que verificar o seu domínio em https: // www .google.com / contas / ManageDomains Google permite que você use apenas domínios sem portas. Eu quero testar e construir o aplicativo localmente de modo geral (Facebook, Linkedin aplicativos) user i um túnel SSH reverso por exemplo http: / /6pna.com:30002
Tem uso por um túnel com Google OAuth. Funciona? Até agora eu só verificada meu domínio aplicativos, mas os meus pedidos vêm do túnel (domínio diferente) para OAuth falha (embora i chegar ao Google e autorizar o meu app)
Qualquer dicas, sugestões? Graças
Solução
bem depois de tentativa e erro eu descobri que o domínio do pedido do é irrelevante
Outras dicas
i basta usar o gdata oficial do Google auth biblioteca http://code.google. com / p / gdata-python-client
Aqui está um código
google_auth_url = None
if not current_user.gmail_authorized:
google = gdata.contacts.service.ContactsService(source=GOOGLE_OAUTH_SETTINGS['APP_NAME'])
google.SetOAuthInputParameters(GOOGLE_OAUTH_SETTINGS['SIG_METHOD'], GOOGLE_OAUTH_SETTINGS['CONSUMER_KEY'],
consumer_secret=GOOGLE_OAUTH_SETTINGS['CONSUMER_SECRET'])
if not request.vars.oauth_verifier:
req_token = google.FetchOAuthRequestToken(scopes=GOOGLE_OAUTH_SETTINGS['SCOPES'],
oauth_callback="http://"+request.env.http_host+URL(r=request,c='default',f='import_accounts'))
session['oauth_token_secret'] = req_token.secret
google_auth_url = google.GenerateOAuthAuthorizationURL()
else:
oauth_token = gdata.auth.OAuthTokenFromUrl(request.env.request_uri)
if oauth_token:
oauth_token.secret = session['oauth_token_secret']
oauth_token.oauth_input_params = google.GetOAuthInputParameters()
google.SetOAuthToken(oauth_token)
access_token = google.UpgradeToOAuthAccessToken(oauth_verifier=request.vars.oauth_verifier)
# store access_tonen
#google.GetContactsFeed() # do the process or do it in ajax (but first update the user)