2017-09-14 2 views
0

Lorsque je crée une clé api, il y a une option comme ceci:Comment utiliser une clé API pour une demande publique dans Google Authentication?

1

Pour rendre cette clé devient privée, j'entré localhost:44397.

Mais le problème est: la demande qui utilisera la clé ne commence pas par localhost:44397.

Il ressemble à:

https://www.googleapis.com/plus/v1/people/ {userId} champs = l'image & key = {api_key}

Donc, je ne peux pas utiliser la clé pour cette demande.

Autre option: si je sélectionne None pour Key restriction, cela signifie que la clé est publique. Ce n'est pas mon objectif.

Ma question: Comment puis-je utiliser cette clé comme clé privée?

Merci!

+0

Vous confondez deux choses? L'un authentifie la demande du client, l'autre liste les clients à partir desquels le serveur acceptera les demandes. – ficuscr

+0

@ficuscr Oui, mec. Vous avez une idée pour les choses? – Vayne

Répondre

1

L'option "Accepter les demandes provenant de ces référents HTTP" est une "liste blanche" des référents HTTP que l'API Google acceptera. Ainsi, si vous souhaitiez uniquement que votre site puisse effectuer des demandes à l'aide de votre clé API, vous y ajouteriez votre site Web. Comme indiqué, *.mysite.com/* signifierait que Google accepterait toute demande émanant du domaine ou du sous-domaine mysite.com.

La clé API que vous devez inclure dans votre demande à l'API Google est considérée comme publique. Les gens le verraient dans l'URL qui est la source de l'image (je fais une hypothèse ici sur la façon dont vous l'utilisez).

Vous voulez donc restreindre l'utilisation de votre clé publique en disant qu'elle ne peut être utilisée qu'avec des requêtes provenant d'un domaine spécifique.

Mais le référent ne peut-il pas être usurpé? Il y a un très bon Q/A ici sur le sujet: How does Google Maps secure their API Key? How to make something similar?

+0

Merci, la demande est envoyée depuis mon site mais l'URL est 'https: //www.googleapis.com/..........'. Donc, je ne peux pas y entrer. Si j'entre dans 'mysite.com/*', la demande 'https: //www.googleapis.com/.......' retournerait '403' – Vayne

+0

Quel est le nom de domaine de votre site? Le 'googleapis.com' n'a rien à voir avec la zone * Restriction de clé *. – ficuscr

+0

Bon, alors ça marcherait pour moi parce que vous n'avez pas de restriction de clé de referer HTTP donc avoir stackoverflow.com comme référant n'est pas un obstacle. Si vous voulez le "restreindre" (ce que vous appelez * make private *), alors configurez une restriction de domaine. – ficuscr