Pentru a accesa API-ul newsman folosind autentificare OAuth 2, trebuie sa parcurgeti etapele:
Inregistrarea aplicatiei care va folosi API-ul cu autentificare OAuth2
Folositi formularul de contact si trimiteti-ne urmatoarele date:
– Numele aplicatiei
– redirect_uri: Callback URL unde Newsman va trimite un callback (ex: https://situlmeu.ro/callback)
Noi va punem la dispozitie doi parametri pe care ii veti folosi la autentificare:
– client_id (ex: app_client_example)
– client_secret (ex: 123123123123 )
Autentificarea
API-ul Newsman foloseste pentru autentificare protocolul OAuth 2.0
Toate request-urile catre API trebuie facute folosind SSL (https:// nu http://)
Pentru autentificare aveti nevoie de:
– client_id (vi-l trimitem dupa inregistrarea aplicatiei)
– client_secret (vi-l trimitem dupa inregistrarea aplicatiei)
– Authorization endpoint: https://ssl.newsman.ro/admin/oauth/authorize
– Token endpoint: https://ssl.newsman.ro/admin/oauth/token
Pas 1: Directionati utilizatorul la url-ul de autorizare
https://ssl.newsman.ro/admin/oauth/authorize?scope=api&redirect_uri=https%3A%2F%2Fsitulmeu.ro%2Fcallback&response_type=code&client_id=app_client_example
Daca utilizatorul nu este autentificat in Newsman, va fi redirectionat la formularul de login. Utilizatorul va fi intrebat daca permite aplicatiei accesul la contul lui Newsman.
Pas 2: Redirectare din Newsman catre callback URL
https://situlmeu.ro/callback?code=jksasda4sda5ssd1a1122sdassdas123
Daca utilizatorul nu a permis accesul la contul Newsman, va fi redirectionat la url-ul
https://situlmeu.ro/callback?error=access_denied&error_description=end-user+denied+authorization
Pas 3: Obtineti access_token
In pasul anterior ati obtinut “code”-ul care trebuie schimbat pe un “access_token” (API key).
Pentru a-l schimba, faceti un request POST la access_token endpoint https://ssl.newsman.ro/admin/oauth/token folosind parametrii:
- code=d869078edb8658f7ccaae5545d506662
- redirect_uri=https%3A%2F%2Fsitulmeu.ro%2Fcallback
- client_id=app_client_example
- client_secret=123123123123
- grant_type=authorization_code
Daca nu sunt erori, veti primi un raspuns JSON de forma:
{ "user_id": 2312121, "access_token": "6c595cd6db27b05dya3be2f65e28291f", "expires_in": 1709550943, "lists": [1, 2], "token_type": "bearer", "scope": "api" } |
access_token obtinut (denumit API key) il veti folosi de fiecare data cand apelati API-ul impreuna cu user_id.