Best practices für den Umgang mit access-Token und-Bereiche für OAuth2 Umsetzung?
Angenommen, wir haben eine OAuth2-Implementierung unterstützt "Lesen" und "schreiben" Bereich.
Ich ein Zugriffstoken abzurufen "f482c829" mit "read" - Bereich. Wenn ich dann meine Meinung ändern, und jetzt wollen Sie read+write Berechtigung und Autorisierung wieder mit "Lesen" und "schreiben" Umfang tun Sie:
- Update-scopes für die bestehende access-token und Rückgabe token "f482c829"?
- Wenn mit der gleichen token, verlangen, dass der access token wird zurückgefordert, wenn die mit response_type=code vor Aktualisierung Bereiche? (Ich denke ja)
- Update-scopes für die bestehende access-token und kehren erfrischt token "zf382nL"?
- Schaffen ein völlig neues token verlassen "f482c829" und seiner Bereiche intakt?
Wenn Sie ein neues token jedes mal, pro Bereich ist, dass zum speichern von mehreren access-tokens pro Autorisierung und unterschiedliche Berechtigungen überall. Ich habe gezögert, es zu implementieren, so.
Die OAuth2-Skillung (so der Entwurf-12) hat leider keine Adresse hat.
Du musst angemeldet sein, um einen Kommentar abzugeben.
In facebook der Fall, Ressourcen-server ist im wesentlichen die gleiche mit dem Autorisierungs-server.
Also tun Sie "verwenden Sie vorhandene token" Weg.
Und es aktivieren, um Benutzern zu erlauben, deaktivieren Sie die einzelnen Bereiche auf facebook.com Website.
Über refresh-token, die Sie nicht brauchen, um die Einführung neuer refresh token. (Natürlich können Sie es aber tun.)
Vorhandene refresh token wird auch verbunden sein mit allen Bereichen.
In Googles Fall (vielleicht Yahoo! zu), Ressourcen-server ist völlig Verschieden vom Autorisierungs-server.
Viele Ressourcen-server (Docs, Buzz etc.) akzeptieren access Token etabliert single authorization server.
In diesem Fall, "Schaffung neuer token" Weg scheint besser.
In der Twitter-Falle (vielleicht in Ihrem Fall zu), beides scheint OK.
Plus, in irgendeiner Weise, wenn der Benutzer widerrufen-client zugreifen, müssen Sie widerrufen alle Token für den client.
Benutzer nicht aufheben "token", sondern "client".
Da die Entwickler sollten sich vorher anmelden, redirect_uri, mit der gleichen client-Anmeldeinformationen sowohl auf der website und auf mobilen scheint alles schwierig.
Damit ich Ihnen empfehlen, sich Entwickler die Verwendung unterschiedlicher client-Anmeldeinformationen in diesem Fall.
Sagen einem client (Handy) von einer Anwendung benötigt werden, nur-lese-Zugriff und ein weiterer client (website) schreiben muss wie gut. Dies würde erfordern, client in der Lage sein zu entscheiden, den Umfang der token-Anforderung und damit die provider speichern mehrere tokens mit verschiedener Bereiche.
Allerdings ist es bis zu Ihnen, wenn Sie wollen, um die Ausweitung des Anwendungsbereichs einer bestehenden token. Das bedeutet, Sie können halten Sie einen Bereich pro Anwendung. Diese können auch leicht Zugang zu widerrufen einer Anwendung durch einen Benutzer.