Vorm en gebruik de douane OAuth 2 van uw organisatie toepassingen gebruikend de stroom van de vergunningscode

Als u wilt integreren met Workfront en uw clienttoepassing in staat wilt stellen namens de gebruiker te communiceren met Workfront, moet u:

  • Een OAuth2-toepassing maken
  • De toepassing van derden configureren
  • Koppeling maken naar de pagina Autoriseren voor uw gebruikers
  • Stroom van machtigingscode instellen: gebruikers melden zich aan bij de Workfront-instantie en gaan ermee akkoord dat de clienttoepassing namens hen verbinding maakt met Workfront. Dientengevolge, krijgt u een vergunningscode die u met toegang zult ruilen en tokens verfrist.
  • Opstelling verfrist Symbolische Stroom: In deze stroom gebruikt u verfrist token om een nieuw toegangstoken te krijgen wanneer oude wordt verlopen.

Een OAuth2-toepassing maken

Voor instructies bij het creëren van de toepassing OAuth2, zie een toepassing OAuth2 gebruikend gebruikersgeloofsbrieven (de stroom van de vergunningscode)in creëren toepassingen OAuth2 voor de integratie van Workfront

NOTE
U kunt tot een totaal van tien Toepassingen OAuth2 in één keer hebben.

Koppeling maken naar de pagina Autoriseren voor uw gebruikers

Uw gebruikers moeten zich aanmelden om deze integratie in hun eigen account te autoriseren. De pagina die ze moeten autoriseren, heeft een specifieke indeling, zoals hier wordt beschreven. Gebruik deze informatie om het adres van de machtigingspagina voor de app te bepalen en geef uw gebruikers dit adres of een koppeling naar dit adres.

  • De volledige URL van het domein van uw organisatie. Voorbeeld:

    code language-none
    https://myorganization.my.workfront.com
    
  • client_id: Dit is de client-id die is gegenereerd toen u de OAuth2-app in Workfront maakte.

  • redirect_uri: Deze URL moet dezelfde zijn als de omleidings-URL die u in Workfront hebt ingevoerd bij het maken van de OAuth2-app. Uw gebruikers worden naar deze pagina geleid nadat zij de app voor hun account hebben geautoriseerd.

  • response_type: Dit moet de waarde code hebben.

De URL voor de machtigingspagina is daarom:

https://<URL of your organization's domain>/integrations/oauth2/authorize?client_id=<Your ClientID>&redirect_uri=<Your redirect URL>&response_type=code
NOTE
We raden u aan een knop of andere koppeling te maken waarop uw gebruikers kunnen klikken om naar deze pagina te worden geleid.

De toepassing van derden configureren

De externe toepassing kan configuratie vereisen. De volgende lijst bevat informatie over gebieden die kunnen worden vereist wanneer u de derdetoepassing vormt.

Autorisatie-URI

https://<the full URL of your organization's domain>/integrations/oauth2/authorize

Voorbeeld: https://myorganization.my.workfront.com/integrations/oauth2/authorize

Token-URL

https://<the full URL of your organization's domain>/integrations/oauth2/api/v1/token

Voorbeeld: https://myorganization.my.workfront.com/integrations/oauth2/api/v1/token

Segmenten
U hoeft geen bereik op te geven.

Stroom van machtigingscode instellen

Om uw gebruikers binnen met OAuth2 te registreren, gebruik het volgende proces:

  1. Wanneer de gebruiker de machtigingspagina opent, wordt deze omgeleid naar de Workfront-aanmeldingspagina, zodat de gebruiker zich kan aanmelden bij Workfront. Als de gebruiker een SSO-configuratie heeft, wordt de aanmeldingspagina van de identiteitsprovider geopend.

    Als de gebruiker al is aangemeld bij Workfront op dezelfde browser of als de gebruiker zich met succes heeft aangemeld bij Workfront, wordt de gebruiker omgeleid naar het instemmingsscherm:

  2. Als de gebruiker de toegang toestaat, wordt de pagina omgeleid naar redirect_url. Het omleiden moet de volgende vraagparameters omvatten:

  • code: De machtigingscode die is vereist voor het ophalen van het token voor toegang/vernieuwing.

  • domain: Het domein van uw organisatie. Voorbeeld: in myorganization.my.workfront.com is het domein myorganization .

  • lane : het pad van de aanvraag. Voorbeeld: in myorganization.preview.workfront.com is de strook preview .

    note important
    IMPORTANT
    De code is slechts 2 minuten geldig. Daarom moet u verfrissen krijgen en toegang tokens binnen die tijd.
  1. Wanneer u een code hebt, kunt u vragen om vernieuwings- en toegangstokens door de code samen met de gegevens van de client-app naar het /integrations/oauth2/api/v1/token -eindpunt te verzenden.

    De volledige token request-URL is

    code language-none
    https://<URL of your organization's domain></span>/integrations/oauth2/api/v1/token
    

    Voorbeelden: Voorbeeld van vraag CURL aan symbolisch eindpunt:

    Voorbeeld 1

    code language-none
       curl --location --request POST '**<workfront host>**/integrations/oauth2/api/v1/token' \
       --header 'Authorization: Basic **<base64(client_id:client_secret)>**' \
       --header 'Content-Type: application/json' \
       --data-raw '{
       "code": "**<code>**",
       "grant_type": "**authorization_code**",
       "redirect_uri": "**<redirect_url>**"
       }'
    

    Voorbeeld 2

    code language-none
       curl --location --request POST '**<workfront host>**/integrations/oauth2/api/v1/token' \
       --header 'Content-Type: application/x-www-form-urlencoded' \
       --data-urlencode 'grant_type=**authorization_code**' \
       --data-urlencode 'redirect_uri=**<redirect_url>**' \
       --data-urlencode 'code=**<code>**' \
       --data-urlencode 'client_id=**<client_id>**' \
       --data-urlencode 'client_secret=**<client_secret>**'
    
    note important
    IMPORTANT
    Het clientgeheim is gegenereerd bij de registratie van de app in Workfront. U moet de oplossing op een veilige plaats bewaren, omdat deze niet kan worden hersteld als deze verdwijnt.

    Wanneer alle overgegaane parameters correct zijn, keert het symbolische eindpunt de volgende nuttige lading terug:

    code language-none
    {
       "token_type": "sessionID",
       "access_token": "string", // the value of sessionID
       "refresh_token": "string",
       "expires_in": 0,
       "wid": "string"
    }
    

    Het toegangstoken is hetzelfde als sessionID en verloopt op dezelfde manier als normaal sessionID

    note important
    IMPORTANT
    Sla het token vernieuwen op een veilige plaats op. U hebt deze nodig om een nieuw token te krijgen wanneer de oude verlopen is. Workfront slaat uw token voor vernieuwen niet op.
  2. Wanneer u een toegangstoken hebt, kunt u API-aanroepen naar Workfront uitvoeren

    code language-none
    curl --request GET 'https://<workfront host>/attask/api/v14.0/proj/search \
    --header 'sessionID: <access_token>'
    

Toegangstoken vernieuwen instellen

Om access_token te verfrissen moeten wij opnieuw een "POST"vraag aan het symbolische eindpunt doen. Deze keer sturen we een andere formuliergegevens als volgt:

curl --location --request POST '<workfront host>/integrations/oauth2/api/v1/token' \
--header 'Authorization: Basic <base64(client_id:client_secret)>' \
--header 'Content-Type: application/json' \
--data-raw '{
   "grant_type": "refresh_token",
   "refresh_token": "<refresh_token>"
}'

###### OR

curl --location --request POST '<workfront host>/integrations/oauth2/api/v1/token' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'grant_type=refresh_token' \
--data-urlencode 'redirect_uri=<redirect_url>' \
--data-urlencode 'refresh_token=<refresh_token>' \
--data-urlencode 'client_id=<client_id>' \
--data-urlencode 'client_secret=<client_secret>'

Het retourneert het volgende resultaat:

{
  "token_type": "sessionID",
  "access_token": "string", // the value of sessionID
  "refresh_token": "string",
  "expires_in": 0,
  "wid": "string"
}

Nogmaals, het toegangstoken is de sessionID die kan worden gebruikt om een API-verzoek aan Workfront uit te voeren.

recommendation-more-help
5f00cc6b-2202-40d6-bcd0-3ee0c2316b43