2016-06-01 4 views
0

Ich entwerfe eine API und habe beschlossen, OAuth2 für die Kontrolle des Zugriffs auf Ressourcen zu verwenden. Ich habe Probleme mit der Definition der Bereiche für mehrere Ressourcen und hoffe, dass andere das gleiche oder ein ähnliches Problem in der Vergangenheit gelöst haben.Wie definiere ich Oath2 Scopes für mehrere Ressourcen?

Ich habe 3 Ressourcen: A, B, C.

Ich habe einen Client, der gegeben wurde:

  • nach B

    • Lesezugriff auf einen
    • als Read/Write kein Zugriff auf C

    Wie sollte ich die Bereiche in diesem Fall definieren? Ich dachte, eine Anfrage Zugang zu erhalten lesen A so etwas wie wäre:

    grant_type=client_credential&scope=B+write 
    

    Aber dann, wenn Sie beide wollen Sie etwas bekommen:

    grant_type=client_credential&scope=A 
    

    Ein Antrag Zugang zu B wäre zu erhalten schreiben wie:

    grant_type=client_credential&scope=A+B+write 
    

    was es so aussehen lässt, wie Sie schreiben möchten, Zugriff auf A und B!

    ODER ... vielleicht sollte ich nur über Bereiche vergessen und nur überprüfen, dass der Client den entsprechenden Zugriff hat?

  • Antwort

    1

    Sie könnten 4 Bereiche definieren, A_read, A_write, B_read und B_write.

    +0

    einverstanden, das ist die Lösung, für die ich gegangen bin. Ich definiere Gültigkeitsbereiche als Doppelpunkt-getrenntes Tupel der Form '{Sammlungsname}: {Zugriff}', wobei 'Zugriff' entweder 'Lesen' oder 'Schreiben' ist. –

    Verwandte Themen