⊗ppSpAiAu 50 of 83 menu

API med autorisation i PHP

Det er muligt at gøre API'et ikke offentligt, men privat, kun tilgængeligt med en adgangskode. I dette tilfælde skal vi, når vi henvender os til vores API, i hver anmodning foruden parametrene overføre den korrekte adgangskode. En sådan adgangskode kaldes et token.

Brugerne af vores API bliver nødt til at få dette token på en eller anden måde. For eksempel ved at købe det. I dette tilfælde vil hver køber have deres eget token.

Lad os se på arbejdet med tokens med et eksempel. Antag at vores API modtager et tal som parameter, og returnerer kvadratet på dette tal. Lad os gøre dette API privat. Lad os komme i gang med implementeringen.

Til at starte med, for enkelhedens skyld, lad os lave ét fælles token og gemme det i åben form i en fil:

<?php $token = '12345'; ?>

Sådan her vil vi henvende os til vores API, ved at overføre parameteren og tokenet:

http://api.loc/index.php?num=100&token=12345

Lad os implementere API'et med token-kontrol:

<?php $token = '12345'; if (isset($_GET['token']) and $_GET['token'] === $token) { if (isset($_GET['num'])) { echo $_GET['num'] ** 2; } else { echo 'error'; } } else { echo 'incorrect token'; } ?>

Lav et API, som ved en parameter vil modtage en fødselsdagsdato og returnere hvor mange dage der er tilbage til denne dato. Lav autorisation via token.

Modificer den forrige opgave sådan, at både parameteren og tokenet overføres via POST-metoden.

Modificer den forrige opgave sådan, at tokenet overføres gennem HTTP- headeren X-Token.

Tilpas det sådan, at tokens opbevares i en database, og at hver API-bruger har deres eget token.

Begræns for hver API-bruger antallet af anmodninger til 10 om dagen.

Dansk
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi bruger cookies til webstedets funktion, analyse og personalisering. Behandling af data foregår i henhold til Fortrolighedspolitikken.
accepter alle tilpas afvis