Skip to content
Snippets Groups Projects
  • Matthew Hodgson's avatar
    c0e0740b
    add options to require an access_token to GET /profile and /publicRooms on CS API (#5083) · c0e0740b
    Matthew Hodgson authored
    This commit adds two config options:
    
    * `restrict_public_rooms_to_local_users`
    
    Requires auth to fetch the public rooms directory through the CS API and disables fetching it through the federation API.
    
    * `require_auth_for_profile_requests`
    
    When set to `true`, requires that requests to `/profile` over the CS API are authenticated, and only returns the user's profile if the requester shares a room with the profile's owner, as per MSC1301.
    
    MSC1301 also specifies a behaviour for federation (only returning the profile if the server asking for it shares a room with the profile's owner), but that's currently really non-trivial to do in a not too expensive way. Next step is writing down a MSC that allows a HS to specify which user sent the profile query. In this implementation, Synapse won't send a profile query over federation if it doesn't believe it already shares a room with the profile's owner, though.
    
    Groups have been intentionally omitted from this commit.
    c0e0740b
    History
    add options to require an access_token to GET /profile and /publicRooms on CS API (#5083)
    Matthew Hodgson authored
    This commit adds two config options:
    
    * `restrict_public_rooms_to_local_users`
    
    Requires auth to fetch the public rooms directory through the CS API and disables fetching it through the federation API.
    
    * `require_auth_for_profile_requests`
    
    When set to `true`, requires that requests to `/profile` over the CS API are authenticated, and only returns the user's profile if the requester shares a room with the profile's owner, as per MSC1301.
    
    MSC1301 also specifies a behaviour for federation (only returning the profile if the server asking for it shares a room with the profile's owner), but that's currently really non-trivial to do in a not too expensive way. Next step is writing down a MSC that allows a HS to specify which user sent the profile query. In this implementation, Synapse won't send a profile query over federation if it doesn't believe it already shares a room with the profile's owner, though.
    
    Groups have been intentionally omitted from this commit.