Spezifikation der User API Keys

Wie wäre es damit, einen spezifischen neuen Scope mit einem dritten Parameter zu erstellen, der angibt, ob ein GET-Parameter erlaubt ist. Auf diese Weise kann er nicht für andere Zwecke missbraucht werden (z. B. zum Umgehen von CORS und zum Anfordern der Discourse-API von einer anderen Website).

(Quelle)

SCOPES = {
    read: [:get],
    write: [:get, :post, :patch, :put, :delete],
    message_bus: [[:post, 'message_bus']],
    push: nil,
    one_time_password: nil,
    notifications: [[:post, 'message_bus'], [:get, 'notifications#index'], [:put, 'notifications#mark_read']],
    session_info: [
      [:get, 'session#current'],
      [:get, 'users#topic_tracking_state'],
      [:get, 'list#unread'],
      [:get, 'list#new'],
      [:get, 'list#latest']
    ],
+   calendar: [ [:get, 'users#bookmarks_cal', true ] ],
  }

(Nebenbemerkung: Warum verwenden wir hier verschachtelte Arrays…)

10 „Gefällt mir“