Especificación de claves API de usuario

¿Qué tal si creamos un nuevo ámbito específico, con un tercer parámetro para indicar ‘parámetro de consulta permitido’? De esta manera, la gente no podrá abusar de él para otros fines (por ejemplo, eludir CORS y solicitar la API de Discourse desde otro sitio).

(desde aquí)

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 ] ],
  }

(A parte: ¿por qué estamos usando arrays anidados aquí…)

10 Me gusta