storage

A Mongo Storage backend for https://github.com/ory/fosite

APACHE-2.0 License

Stars
20
storage - v0.11.1

Published by matthewhartstonge over 6 years ago

v0.11.1 - 2018-05-14

Changed

  • readme: updated latest version

Fixed

  • user: Equal() now supports comparisons including personID

Removed

  • legal: Removed mergo, now not in use
storage - v0.11.0

Published by matthewhartstonge over 6 years ago

v0.11.0 - 2018-05-10

Changed

  • user: Removed use of lib mergo. Please move to passing through a full update,
    instead of partials. This caused issues where fields were required to be
    blanked out, for example, disabling a user account.
  • client: Removed use of lib mergo. Please move to passing through a full update,
    instead of partials. This caused issues where fields were required to be
    blanked out, for example, disabling a client.
  • changelog: to be changelog compliant!
  • glide: unpinned fosite version. Please ensure it works with your version of
    fosite, please see readme disclaimers.

Removed

  • glide: mergo
storage - v0.8.0

Published by matthewhartstonge over 6 years ago

  • Makes users filterable with user.Filter via the GetUsers(filters user.Filter) function
storage - v0.7.5

Published by matthewhartstonge over 6 years ago

  • Adds PersonID to the client record to enable foreign key lookups
storage - v0.7.4

Published by matthewhartstonge over 6 years ago

  • Adds TenantIDs to the client record to enable client_credentials for multi-tenant applications
storage - v0.7.3

Published by matthewhartstonge over 6 years ago

  • Adds better error checking support for clients
storage - v0.7.2

Published by matthewhartstonge over 6 years ago

  • Adds support for disabling clients via the model
storage - v0.10.0

Published by matthewhartstonge over 6 years ago

v0.10.0 - 2018-04-13

Changed

  • Configuration now allows passing hostnames with included ports, for example:
    []string{"mongo.example.com:123456", "mongo.example.com:234567"}allowing
    developers to bypass having to configure config.Port as well.
  • Configuration now allows passing a custom tls.Config to the Config. This
    requires manual initialization of a tls.Config struct, but enables users
    to use their own TLS certs for connecting to mongo.
  • Cleaned up the Readme
  • Started using Keep a Changelog style for logging changes
storage - v0.9.1

Published by matthewhartstonge over 6 years ago

  • Fixes AllowedPeopleAccess filtering.
storage - v0.9.0

Published by matthewhartstonge over 6 years ago

v0.9.0 makes a few under the hood changes in order to conform method and attribute naming to make the API cleaner.

Mongo Driver

First of all, big shout out to @niemeyer for his amazing effort and continued support through the years to the mgo Go driver!! It's no small feat, with the driver in use today in many production stacks.

We have decided to move to the community supported fork of mgo as it has a couple of extra github issues tidied up and is moving to add support for Mongo 3.6 features which make some aggregation pipelines easier internally for us. As such, this repo is also moving to use the community fork of [mgo][mgo].

Big shoutout to @domodwyer + contributors past and future!

User

  • AllowedAccess has been changed to AllowedTenantAccess to better represent the underlying data.
    • The bson/json/xml tags have also been updated from tenantIDs to allowedTenantAccess
  • AllowedPeopleAccess has been added to the user model support enabling and disabling explicit access to people accounts.
  • Added EnablePeopleAccess method to user
  • Added DisablePeopleAccess method to user
  • User AddTenantIDs method conformed to EnableTenantAccess
  • User RemoveTenantIDs method conformed to DisableTenantAccess

Client

  • Client TenantIDs have been changed to conform to AllowedTenantAccess, same as user.
  • Client AddScopes method has been changed to EnableScopeAccess
  • Client RemoveScopes method has been changed to DisableScopeAccess
  • Client AddTenantIDs method has been changed to EnableTenantAccess
  • Client RemoveTenantIDs method has been changed to DisableTenantAccess
storage -

Published by matthewhartstonge about 7 years ago

  • Adds functions to enable sorting Clients by Name and Owner
  • Adds functions to enable sorting Users by Username, FirstName and LastName
storage -

Published by matthewhartstonge about 7 years ago

  • Adds support for mongo connections over SSL
  • ConnectionURI has been dropped in favour of ConnectionInfo to enable SSL connections
storage -

Published by matthewhartstonge about 7 years ago

  • Removes request.PersistRefreshTokenGrantSession from request.Storer interface as per required fosite v0.11.x breaking changes
  • Removes request.PersistAuthorizeCodeGrantSession from request.Storer interface as per required fosite v0.11.x breaking changes
  • Uses the new interfaces that were brought in to simplify storage with fosite v0.11.x
storage - v0.5.3

Published by matthewhartstonge about 7 years ago

  • Added omitempty for marshaling json tags
storage -

Published by matthewhartstonge about 7 years ago

  • Added returning fosite.ErrNotFound if unable to find a user record to delete
storage -

Published by matthewhartstonge about 7 years ago

  • Added omitempty for marshaling User Attributes
storage -

Published by matthewhartstonge about 7 years ago

  • Added error for conflicting user accounts on creation based on username
storage -

Published by matthewhartstonge about 7 years ago

  • Fixed a filtering case where organisation_id had not been changed to tenantIDs
  • Fixes a couple of testcases
storage -

Published by matthewhartstonge about 7 years ago

  • Adds user account disabled boolean.
  • Adds user methods to check for equality and emptiness.
storage -

Published by matthewhartstonge about 7 years ago

  • Removes user organisationID.
  • Adds tenantIDs to the user model to enable multi-tenanted applications