Je pense qu'il devrait ĂȘtre possible de spĂ©cifier des en-tĂȘtes exclusifs par point de terminaison.
Par exemple: j'ai configurĂ© l'API REST WordPress et l'API REST WooCommerce (v2 et v3) comme mes diffĂ©rents points de terminaison. Il devrait donc ĂȘtre possible de fournir diffĂ©rents en-tĂȘtes d'autorisation pour chaque point de terminaison.
Bon point! Peut-ĂȘtre devrions-nous permettre Ă notre configuration initiale d'en-tĂȘtes d'ĂȘtre un en-tĂȘte / hachage ou une fonction Ă exĂ©cuter Ă chaque fois? @efoken @paulpdaniels
Cela a du sens, je pensais que c'Ă©tait ainsi que cela fonctionnait maintenant, mais je suppose que je n'ai pas traitĂ© de problĂšme avec plusieurs ressources avec des exigences d'en-tĂȘte diffĂ©rentes.
@efoken avez-vous un exemple de _comment_ vous aimeriez l'utiliser. Juste pour avoir une idée de ce à quoi ressemblerait un cas d'utilisation typique.
@paulpdaniels, ce serait un exemple oĂč j'utilise l'API WP REST avec l'en-tĂȘte d'autorisation comme point de terminaison par dĂ©faut, et les API REST WooCommerce v2 et v3 comme points de terminaison sĂ©parĂ©s - la v3 nĂ©cessite une autorisation et la v2 ne le fait pas:
import { camelCase, snakeCase } from 'lodash';
import { RestLink } from 'apollo-link-rest';
if (typeof window === 'undefined') {
global.btoa = str => Buffer.from(str).toString('base64');
}
const restLink = new RestLink({
uri: 'https://example.com/wp/v2',
headers: {
authorization: `Basic ${btoa('client_key:secret_key')}`,
},
endpoints: {
'wc-v2': {
uri: 'https://example.com/wp-json/wc/v2',
headers: {
authorization: undefined,
},
},
'wc-v3': {
uri: 'https://example.com/wp-json/wc/v3',
headers: {
authorization: `Basic ${btoa('another_client_key:secret')}`,
},
},
},
fieldNameNormalizer: camelCase,
fieldNameDenormalizer: snakeCase,
});
des nouvelles Ă ce sujet? Je suis dans une situation oĂč j'utilise rest-link et j'ai mon propre point de terminaison qui nĂ©cessite une authentification et un autre point de terminaison tiers qui nĂ©cessite une clĂ©.
Y a-t-il des exemples de la façon de procéder maintenant?
J'ai Ă©galement une situation oĂč j'ai besoin d'un en-tĂȘte d'autorisation sur certains points de terminaison mais pas sur d'autres. Je ne peux pas trouver un moyen d'accomplir cela.
Un travail a-t-il Ă©tĂ© fait Ă ce sujet? J'ai une situation oĂč un point de terminaison a besoin d'une authentification de base et un autre a besoin d'une authentification du porteur
Quelqu'un a-t-il encore trouvé une solution à cela?
Une solution de contournement pour cela? Je suis Ă©galement dans une situation oĂč j'ai besoin de personnaliser les en-tĂȘtes pour diffĂ©rents points de terminaison.
Y a-t-il eu une mise Ă jour Ă ce sujet? Travaille actuellement sur un projet qui nĂ©cessite une authentification et des en-tĂȘtes diffĂ©rents pour chaque point de terminaison. Y a-t-il une solution de contournement pour cela?
Vous pouvez fournir une implĂ©mentation customFetch qui analyse l'URL cible et injecte / ajoute des en-tĂȘtes en fonction d'un prĂ©fixe d'URL, c'est donc faisable aujourd'hui.
Veuillez indiquer si cette solution de contournement ne fonctionne pas pour vous.
Commentaire le plus utile
@paulpdaniels, ce serait un exemple oĂč j'utilise l'API WP REST avec l'en-tĂȘte d'autorisation comme point de terminaison par dĂ©faut, et les API REST WooCommerce v2 et v3 comme points de terminaison sĂ©parĂ©s - la v3 nĂ©cessite une autorisation et la v2 ne le fait pas: