Я начал использовать OAuth с Python и Django. Мне это нужно для API Google. Я работаю на localhost, поэтому я не могу зарегистрировать домен для URL-обратного вызова. Я читал о том, что Google OAuth можно использовать с анонимным доменом. Не могу найти, как и где я могу это сделать?
Edit:
У меня есть этот вид:
def authentication(request):
CONSUMER_KEY = 'xxxxx'
CONSUMER_SECRET = 'xxxxx'
SCOPES = ['https://docs.google.com/feeds/', ]
client = gdata.docs.client.DocsClient(source='apiapp')
oauth_callback_url = 'http://%s/get_access_token' % request.META.get('HTTP_HOST')
request_token = client.GetOAuthToken(
SCOPES, oauth_callback_url, CONSUMER_KEY, consumer_secret=CONSUMER_SECRET)
domain = '127.0.0.1:8000'
return HttpResponseRedirect(
request_token.generate_authorization_url(google_apps_domain=domain))
И эта ошибка:
Извините, вы попали на страницу входа в домен, который не использует Google Apps. Пожалуйста, проверьте веб-адрес и попробуйте снова.
Зарегистрирован через https://code.google.com/apis/console/
Edit:
CONSUMER_KEY = 'xxxxxxxxxxxxxxxxxxxxxxxxxxx'
CONSUMER_SECRET = 'xxxxxxxxxxxxxxxxxxxxxxxxx'
SCOPES = ['https://docs.google.com/feeds/', ]
DOMAIN = 'localhost:8000'
def authentication(request):
client = gdata.docs.client.DocsClient(source='apiapp')
oauth_callback_url = 'http://%s/get_access_token' % DOMAIN
request_token = client.GetOAuthToken(SCOPES,
oauth_callback_url,
CONSUMER_KEY,
consumer_secret=CONSUMER_SECRET)
return HttpResponseRedirect(
request_token.generate_authorization_url())
def verify(request):
client = gdata.docs.client.DocsClient(source='apiapp')
f = open('/home/i159/.ssh/id_rsa')
RSA_KEY = f.read()
f.close()
oauth_callback_url = 'http://%s/get_access_token' % DOMAIN
request_token = client.GetOAuthToken(SCOPES,
oauth_callback_url,
CONSUMER_KEY,
rsa_private_key=RSA_KEY)
return HttpResponseRedirect(
request_token.generate_authorization_url(google_apps_domain=DOMAIN))
Ошибка:
Невозможно получить токен запроса OAuth: 400, у клиента нет сертификата: xxxxxxxxxxxxxxx.apps.googleusercontent.com