You are not logged in.

  • Login
Bitte besucht unser neues Forum unter https://forum.nitrado.net | Please visit our new Forum at https://forum.nitrado.net

Dear visitor, welcome to Nitrado.net Prepaid Gameserver Community-Support - Archiv. If this is your first visit here, please read the Help. It explains in detail how this page works. To use all features of this page, you should consider registering. Please use the registration form, to register here or read more information about the registration process. If you are already registered, please login here.

Tyrola

Nitrado.net

  • "Tyrola" is male
  • "Tyrola" started this thread

Posts: 318

Location: Bielefeld

Occupation: Lead Software Engineer

Thanks: 1

  • Send private message

1

Tuesday, May 5th 2015, 10:20am

Hallo Sidcode,

die Access Token sind unbegrenzt lange gültig bis jemand die deine App aus seiner Liste entfernt. Der Text mit den 30 Tagen wurde angepasst, das war veraltet.

Wenn sich nun also ein User via oAuth einloggt, erhältst du den Access Token von dem jeweiligen User, den musst du dann halt zusammen mit dem Benutzerprofil abspeichern.

Im Anhang befindet sich ein funktionierendes oAuth Beispiel in PHP. Dort müssen nur die 3 Parameter von $client = new OAuth2\Client ausgetauscht werden.

Liebe Grüße
Tyrola
Tyrola has attached the following file:
  • oauth.zip (17.44 kB - 60 times downloaded - latest: Sep 7th 2018, 11:46pm)

Tyrola

Nitrado.net

  • "Tyrola" is male
  • "Tyrola" started this thread

Posts: 318

Location: Bielefeld

Occupation: Lead Software Engineer

Thanks: 1

  • Send private message

2

Tuesday, May 5th 2015, 10:39am

Es gibt keine Einschränkung für oAuth Libs. Musst nur darauf achten das die Lib auch tatsächlich oAuth2 ist und nicht Version 1.
Der oAuth2 Server arbeitet strikt nach dem Standard der hier dokumentiert ist: http://oauth.net/2/

Der dritte Parameter ist die Callback URL, also die redirect URL. Die du auch im Developer Bereich angeben musst.

So wird nämlich der Access Token angefordert:

PHP Source code

1
2
3
4
5
6
7
8
        $parameters = array(
            'grant_type' => 'authorization_code',
            'type' => 'web_server',
            'client_id' => $this->_client->getClientKey(),
            'client_secret' => $this->_client->getClientSecret(),
            'redirect_uri' => $this->_client->getCallbackUrl(),
            'code' => $code,
        );

Tyrola

Nitrado.net

  • "Tyrola" is male
  • "Tyrola" started this thread

Posts: 318

Location: Bielefeld

Occupation: Lead Software Engineer

Thanks: 1

  • Send private message

3

Tuesday, May 5th 2015, 10:51am

Das mit dem Fenster schließen ist nur nicht drin, das musst du selbst umsetzen ;-)

Das hab ich nur mal eben zum schnellen Test zusammengebaut. Die Lib ist nicht verändert worden.
Nur die example.php wurde angepasst.

Tyrola

Nitrado.net

  • "Tyrola" is male
  • "Tyrola" started this thread

Posts: 318

Location: Bielefeld

Occupation: Lead Software Engineer

Thanks: 1

  • Send private message

4

Tuesday, May 5th 2015, 11:22am

Die Information gibt es aktuell nicht von der API.

Aktuell gibt es vom User nur folgende Informationen, wenn er zustimmt:

Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
{
   "status":"success",
   "data":{
      "user":{
         "username":"Marty",
         "email":"marty.mcfly@biffco.com",
         "credit":1955,
         "registred":"1985-25-10T01:15:00.000+00:00",
         "language":"eng",
         "profile":{
            "name":"Marty McFly",
            "street":"DeLorean Street 12",
            "postcode":"2209",
            "city":"Hill Valley"
         }
      }
   }
}

Tyrola

Nitrado.net

  • "Tyrola" is male
  • "Tyrola" started this thread

Posts: 318

Location: Bielefeld

Occupation: Lead Software Engineer

Thanks: 1

  • Send private message

5

Tuesday, May 5th 2015, 11:16pm

In der API Dokumentation steht, dass maximal 500 Anfragen pro User/h erlaubt sind.
Gilt das pro APP oder tatsächlich pro angemeldeter User?

Pro Nitrado User, erstmal möchte ich schauen ob bei einer normalen Nutzung das Limit ausreicht, wenn das zu wenig sein sollte dann heben wir das natürlich noch an.

Wenn ich jetzt in meinem Projekt auf eine andere Seite gehe. Sagen wir einfach mal ich habe eine Profil Übersicht.
Wie kann ich von der Seite auf die Daten zugreifen, ohne den User neu anmelden zu müssen?

Ich hoffe ich verstehe die Frage korrekt. Es ist üblich diese Profilinformationen die via oAuth kommen in einer eigenen Datenbank abzuspeichern.
Also der User loggt sich via Nitrado oAuth ein, dann erhältst du den Access Token.
Anschließend legst du bei dir ein Profil in der eigenen Datenbank an, dort sicherst du User ID, Usernamen etc. sowie den Access Token.

Das ist einmal um das ganze zu cachen und damit du natürlich auch selbst eine Session für den User starten kannst.

Ist der "credit" Wert das Guthaben in Cent?

Japp.

aaron.fischer

Nitrado Mitarbeiter

  • "aaron.fischer" is male

Posts: 24

Occupation: Software Engineer

Thanks: 2

  • Send private message

6

Sunday, July 23rd 2017, 9:19pm

Da noch viele Fragen zur Authorisierung, Authentifizierung, OAuth2 und Access Token haben, habe ich dazu ein kleines HowTo geschrieben, welches den OAuth2 Vorgang beschreibt und implementiert:

https://aaron-fischer.net/wae

Das klärt hoffentlich die ein oder andere Frage.

Bitte besucht unser neues Forum unter https://forum.nitrado.net| Please visit our new Forum at https://forum.nitrado.net