Before, if the CMS was loading user OAuth credentials from
`localStorage`, then user write access would not be checked again.
However, the `config.yml` repo could be changed, which would cause the
user to be still logged in even if they did not have write permissions.
Also, if the user had updated their metadata (avatar, etc.), the CMS
would not update that either.
When Netlify CMS uses the git-gateway backend, it will check for a
window.netlifyIdentity
object and use that to handle the whole auth flow.
This also sets defaults for the git-gateway endpoint, that means it
can be used in templates with zero configuration and fit with a
one-click deploy to Netlify approach.
Netlify Identity itself is based on our open-source GoTrue microservice,
and Netlify's Git Gateway project is completely open-source as well.
The git-gateway backend will work with Netlify without any setup, but can
also be configured to work with any selfhosted GoTrue and Git Gateway
instances.
`isCollaborator` was created in #491 to block login if a user did not have write (push) permissions to a repo, by going through the list of a users repos until it found the right one. It did not institute pagination, however, so if a user had enough repos that the one in question was on another page, the CMS would assume that they did not have permission and block the login.
This commit fixes the problem by calling the API for the specific repo instead of getting the whole list.
* Merge conflicts automatically. Closes#208
* removed unpublished entry route
All entries (either under editorial workflow or not) go through the same edit route.
* Use collection label instead of name on the CollectionPage
* Added Avatar and logout menu item
* [feat](login) Added userpic with a logout action in the dropdown.
- Display logged in user in the AppHeader
- Implemented logout action and store + tests
- Better styles for GitHub sign in screen
Closes#100
* Better styles for the AppHeader
* Files based collections skeleton
* listing file based cards
* create new entry with collection
* moved lookupEntry to main backend
* Editing single page Collections file
* List widget basic implementation
* Adjustments for test-repo
* check if value exists before trying to iterate over