Ga naar hoofdinhoud

OData OAuth

Categorie: OData

Een OData-feed die met OAuth 2.0 is beveiligd. Gebruik deze bron voor OData-services achter een OAuth-aanmelding. Voor een OData-feed zonder OAuth (anoniem, Basic of API-key in een header) gebruik je in plaats hiervan de bron OData.

Yres bouwt voor deze bron twee linked services: een REST-linked service voor de data en een HTTP-linked service voor de metadata. Paginering verloopt via de OData-vervolgkoppeling (@odata.nextLink).

Verwachte input

Deze velden vul je in het Yres-formulier "Bron toevoegen" in (sub-formulier voor OData OAuth).

VeldToelichting
UrlDe service-root (basis-URL) van de OData-feed. Yres voegt automatisch een afsluitende / toe.
PaginationTypeVast op BodyUrl (alleen-lezen).
Body urlHet JSON-pad naar de vervolgkoppeling; vast op $['@odata.nextLink'].
Client idDe client-/applicatie-id (UUID) van de geregistreerde OAuth-client.
Client secretHet clientgeheim van de OAuth-client.
Access token urlHet token-endpoint van de aanbieder waar Yres het toegangstoken ophaalt.
ScopeDe scope(s) die toegang geven tot de gewenste data.
Grant TypeClient Credentials of Authorization Code (keuzelijst).
Refresh tokenAlleen bij Authorization Code: een geldig refresh token (verplicht).

Naast deze bronspecifieke velden vraagt de wizard de standaard "bron"-gegevens: bronnaam (uniek, 2–45 tekens, begint met een letter), integration runtime, gelden de credentials voor alle omgevingen?, vervaldatum van de credentials en optionele tags.

Authenticatie

OAuth 2.0. Twee grant types worden ondersteund:

  • Client Credentials — server-naar-server. Yres haalt met Client id + Client secret een toegangstoken op bij de Access token url. Geen gebruikersinteractie nodig.
  • Authorization Code — vereist bovendien een refresh token, waarmee Yres telkens een nieuw toegangstoken ophaalt. Zonder refresh token weigert de validatie de bron.

De validatie vereist dat Url, Client id, Client secret en Access token url zijn ingevuld, dat Grant Type één van Authorization Code / Client Credentials is, en dat bij Authorization Code een refresh token aanwezig is.

Integration runtime

Standaard de cloud-IR AutoResolveIntegrationRuntime — geschikt voor een OData-service die publiek (via internet) bereikbaar is. Kies alleen een self-hosted integration runtime wanneer de OData-service zich on-premises of achter een firewall bevindt en niet rechtstreeks vanuit Azure bereikbaar is. Yres schrijft de gekozen IR via connectVia naar beide linked services.

Vereisten en geheimen

  • OAuth-client registreren bij de aanbieder van de OData-service. Daaruit komen de Client id, het Client secret, de Access token url en de toegestane Scope(s). Bij Authorization Code lever je daarnaast een geldig refresh token aan.
  • Credentials staan nooit in de frontend. Yres schrijft ze naar de Azure Key Vault van de klant, onder de bronnaam-prefix adf-{bronnaam}-…. Voor deze bron zijn dat onder meer adf-{bronnaam}-http-url, adf-{bronnaam}-clientId, adf-{bronnaam}-clientSecret en adf-{bronnaam}-grantType. De OAuth-tokens (refresh token, scope, token-URL, grant type) worden afzonderlijk opgeslagen.
  • Raadpleeg de API- en OAuth-documentatie van de aanbieder voor de exacte service-root, scope-namen en het token-endpoint.
Gebruik de presetpagina voor die diensten

Een aantal vaste presets gebruikt onder water hetzelfde OData-OAuth-mechanisme. Dynamics 365 en Intune Data Warehouse worden als backend-type OData opgeslagen (en via de standaard OData-bouwer uitgerold); Microsoft Graph wordt sinds v1.56 als ODataoAuth opgeslagen. Voor die diensten gebruik je de betreffende presetpagina in plaats van deze generieke OData-OAuth-bron.

Load types en delta

OData OAuth gedraagt zich als een generieke OData/REST-bron. Metadata wordt opgehaald via de HTTP-linked service; de daadwerkelijke records via de REST-linked service met paginering op @odata.nextLink. Of incrementeel (DELTA) laden mogelijk is, hangt af van de aanwezigheid van een geschikte delta-/wijzigingskolom in de feed. Zie Load types voor de beschikbare laadtypen.


Officiële documentatie: OAuth 2.0 client credentials flow (Microsoft) · OAuth 2.0 authorization code flow (Microsoft)

Zie ook: OData · Integratiecatalogus · Alle databron-vereisten · Integraties — overzicht