Geheimen in de Reactor-API
In de Reactor-API is een geheim een bron die een verificatiereferentie vertegenwoordigt. De geheimen worden gebruikt in gebeurtenis door:sturen om aan een ander systeem voor veilige gegevensuitwisseling voor authentiek te verklaren. Daarom kunnen geheimen alleen worden gemaakt binnen eigenschappen voor het doorsturen van gebeurtenissen (waarvan platform
kenmerk is ingesteld op edge
).
Er zijn momenteel drie ondersteunde geheime typen die in het dialoogvenster type_of
kenmerk:
token
simple-http
oauth2-client_credentials
Deze gids verstrekt een overzicht op hoog niveau van hoe te om geheimen voor gebruik in gebeurtenis te vormen die door:sturen. Raadpleeg voor gedetailleerde informatie over het beheren van geheimen in de Reactor-API, zoals bijvoorbeeld JSON van de structuur van een geheim punthulplijn voor geheimen.
Credentials
Elk geheim bevat een credentials
kenmerk dat de respectieve referentie-waarden bevat. Wanneer een geheim maken in de API, heeft elk type geheim andere vereiste kenmerken, zoals in de volgende secties wordt getoond:
token
token
Geheimen met een type_of
waarde van token
slechts één enkel attribuut onder vereisen credentials
:
token
Het token wordt opgeslagen als een statische waarde en daarom is het geheim expires_at
en refresh_at
eigenschappen zijn ingesteld op null
wanneer het geheim wordt gecreeerd.
simple-http
simple-http
Geheimen met een type_of
waarde van simple-http
de volgende kenmerken vereisen onder credentials
:
username
password
Wanneer het geheim wordt gecreeerd, worden de twee attributen geruild met een codering BASE64 van username:password
. Na de uitwisseling is het geheim expires_at
en refresh_at
eigenschappen zijn ingesteld op null
.
oauth2-client_credentials
oauth2-client_credentials
Geheimen met een type_of
waarde van oauth2-client_credentials
de volgende kenmerken vereisen onder credentials
:
client_id
client_secret
token_url
refresh_offset
14400
(vier uur) standaard.options
(Optioneel) Geeft aanvullende opties voor de OAuth-integratie op:
scope
: Een tekenreeks die de OAuth 2.0-bereik voor de referenties.audience
: Een tekenreeks die een Auth0-toegangstoken.
Wanneer een oauth2-client_credentials
geheim wordt gecreeerd of bijgewerkt, client_id
en client_secret
(en eventueel options
) worden uitgewisseld in een verzoek van de POST aan de token_url
, volgens de stroom van de Referenties van de Cliënt van het protocol OAuth.
Als de vergunningsdienst met antwoordt 200 OK
en een JSON-responsorgaan, het lichaam wordt geparseerd en de access_token
naar de randomgeving wordt geduwd en expires_in
wordt gebruikt voor de berekening van de expires_at
en refresh_at
attributen voor het geheim. Als er geen milieuvereniging voor het geheim is, access_token
wordt weggegooid.
Een uitwisseling van geloofsbrieven wordt als succesvol beschouwd onder de volgende voorwaarden:
expires_in
is groter dan28800
(8 uur).refresh_offset
is kleiner dan de waarde vanexpires_in
minus14400
(vier uur). Alsexpires_in
is36000
(tien uur) en derefresh_offset
is28800
(8 uur), wordt de uitwisseling als mislukt beschouwd omdat28800
is groter dan36000
-14400
(21600
).
Als de uitwisseling succesvol is, wordt de de statusattributen van het geheim geplaatst aan succeeded
en waarden voor expires_at
en refresh_at
worden ingesteld:
expires_at
is de huidige UTC-tijd plus de waarde vanexpires_in
.refresh_at
is de huidige UTC-tijd plus de waarde vanexpires_in
, minus de waarde vanrefresh_offset
. Alsexpires_in
is43200
(twaalf uur) en derefresh_offset
is14400
(vier uur), derefresh_at
eigenschap zou worden ingesteld op28800
(8 uur) na de huidige UTC-tijd.
Als de uitwisseling om welke reden dan ook mislukt, status_details
in het dialoogvenster meta
objectupdates met relevante informatie.
Een oauth2-client_credentials
geheim
Als een oauth2-client_credentials
geheim is toegewezen aan een milieu en zijn status is succeeded
(de geloofsbrieven werden met succes geruild), een nieuwe uitwisseling wordt automatisch uitgevoerd op refresh_at
.
Als de uitwisseling succesvol is, refresh_status
in het dialoogvenster meta
object is ingesteld op succeeded
while expires_at
, refresh_at
, en activated_at
dienovereenkomstig worden bijgewerkt.
Als de uitwisseling ontbreekt, wordt de verrichting geprobeerd nog drie keer met de laatste poging niet meer dan twee uur alvorens het toegangstoken verloopt. Als alle pogingen mislukken, refresh_status_details
kenmerk van de meta
objectupdates met relevante details.
oauth2-google
oauth2-google
Geheimen met een type_of
waarde van oauth2-google
vereist het volgende kenmerk onder credentials
:
scopes
Hiermee geeft u de Google-productbereiken voor verificatie weer. Het volgende bereik wordt ondersteund:
- Google-advertenties:
https://www.googleapis.com/auth/adwords
- Google Pub/Sub:
https://www.googleapis.com/auth/pubsub
Nadat u de oauth2-google
geheim , het antwoord bevat een meta.authorization_url
eigenschap. U moet deze URL kopiëren en in browser plakken om de Google-verificatiestroom te voltooien.
Een oauth2-google
geheim
De autorisatie-URL voor een oauth2-google
het geheim verloopt één uur nadat het geheim (zoals vermeld door meta.authorization_url_expires_at
). Na deze tijd, moet het geheim opnieuw worden geautoriseerd om het authentificatieproces te vernieuwen.
Zie de punthulplijn voor geheimen voor meer informatie over het opnieuw autoriseren van een oauth2-google
geheim door een PATCH-verzoek in te dienen bij de Reactor-API.
Omgevingsrelatie
Wanneer u een geheim maakt, moet u de opdracht milieu waarin het zal bestaan. Geheimen worden onmiddellijk ingezet in de omgeving waarin ze zijn gemaakt.
Een geheim kan slechts aan één milieu worden geassocieerd. Zodra het verband tussen een geheim en een milieu wordt gevestigd, kan het geheim niet uit het milieu worden ontruimd, en het geheim kan niet met een verschillend milieu worden geassocieerd.
Nadat de geloofsbrieven van een geheim met succes zijn geruild, voor een geheim om met een milieu worden geassocieerd, het uitwisselingsartefact (het symbolische koord voor token
, de Base64-gecodeerde tekenreeks voor simple-http
of de toegangstoken voor oauth2-client_credentials
) veilig in de omgeving wordt opgeslagen.
Nadat het uitwisselingsartefact met succes op het milieu wordt bewaard, activated_at
wordt ingesteld op de huidige UTC-tijd en kan nu worden verwezen met behulp van een gegevenselement. Zie de volgende sectie voor meer informatie over het verwijzen naar geheimen.
Verwijzen naar geheimen referencing-secrets
Als u naar een geheim wilt verwijzen, moet u een gegevenselement van het type "Secret" (verstrekt door de Core extension) voor een gebeurtenis die bezit door:sturen. Wanneer het vormen van dit gegevenselement, wordt u ertoe aangezet om te wijzen op welk geheim aan gebruik voor elk milieu. U kunt dan regels tot stand brengen die naar een geheim gegevenselement, zoals binnen de kopbal voor een vraag van HTTP verwijzen.
succeeded
geheim verbonden aan het milieu waarop de bibliotheek wordt gebouwd. Als een bibliotheek bijvoorbeeld een geheim gegevenselement heeft dat geen succeeded
geheim dat voor wordt gevormd Staging Secret , resulteert het maken van die bibliotheek in de testomgeving in een fout.Tijdens runtime wordt het element met geheime gegevens vervangen door het corresponderende geheime uitwisselingsartefact dat op de omgeving is opgeslagen.
Volgende stappen
In deze handleiding werden de basisprincipes van het werken met geheimen in de Reactor-API besproken. Voor details over hoe te om geheimen te beheren gebruikend API vraag, zie punthulplijn voor geheimen.