summaryrefslogtreecommitdiff
path: root/app/models
AgeCommit message (Collapse)Author
2015-09-28Make sure codes can only be used once, fix validationsankonym
We introduced a count on invite codes to make sure that (at the moment) codes can only be used once. (The code will also allow multi-use codes in the future.) Also, some of our validations weren't validating against the correct data, which is now fixed.
2015-09-28assign random invite code when creating new invite codesankonym
2015-09-28Changed invite code query to look for invite_code string instead of idankonym
2015-09-28Add validation of invite code in user object based on codes in couch dbankonym
2015-09-28Add invite code modelankonym
2015-09-28Adding invite code field to signup with validation for hardcoded invite codeankonym
2015-08-07do not include random cruft in the common name of smtp client certificateselijah
2015-04-30added support for email notifications of ticket changeselijah
2015-03-17add support for rotating tokens and sessions databases, and for a special ↵elijah
tmp db for test users.
2015-01-28client certificates: allow for time units to be specified in ↵elijah
client_cert_lifespan config option.
2014-12-23bugfix: ensure both user and identity documents are destroyed if there is a ↵elijah
problem creating the account.
2014-12-15bugfix: allow deletion of user's identities via api when user is deleted. ↵elijah
closes #6550
2014-07-17some cleanup of the messages api and cuke featureAzul
2014-07-12fix tests and simplify time calculationsAzul
2014-07-12Identity view cert_fingerprints_by_expiryAzul
Also move complex identity views into js designs. Includes test. Here's how you would query it from outside rails: ``` $ curl 'localhost:5984/identities/_design/Identity/_view/cert_fingerprints_by_expiry?startkey="2014-07-05"' {"total_rows":4,"offset":1,"rows":[ {"id":"6c9091d4f13eaeaa6062c9d0528fd34d","key":"2014-07-05","value":"fingerprint"}, {"id":"6f3aa93828b4f6978d551f2623b9d103","key":"2014-07-05","value":"fingerprint"}, {"id":"b6cafacfa65042679691cd5065fb19e3","key":"2014-07-07","value":"fp"} ]} ``` Note that the expiry will be used as the key. So you should use the current data (or yesterday) as the startkey to get all fingerprints that have not expired yet. The fingerprint itself is in the value. No need to include docs.
2014-07-12store expiry with cert fingerprintsAzul
We used to store the creation date but this way it's easier to query for non expired certs
2014-07-09Merge pull request #173 from azul/feature/unblock-handlesazul
Allow admins to unblock handles
2014-07-09list identities based on search onlyAzul
2014-07-08create client certificates with generous not_before (fixes #5884)elijah
2014-07-05Enable unblocking handles in identities tabAzul
There's an identities tab now for admins that will allow unblocking blocked handles. It should be easy to expand for aliases and forwards and other types of actions such as editing.
2014-06-23Account.create - do a User.new instead of User.create, so that we can report ↵elijah
the errors on the object if not saved.
2014-06-17if identity fails to be created, destroy the user. also, pass through ↵elijah
identity errors to user and add identity class hook.
2014-05-29clearify identity validationsAzul
Identity.new.valid? should not crash. So validate presence where needed and skip the other validations if the value is absent.
2014-05-29ensure User#reload returns selfAzul
2014-05-29hand on errors from Email to Identity to UserAzul
errors.each iterates through all errors for all attrbibutes nicely.
2014-05-29catch corner cases of account creationAzul
Users now always check if their identity is valid. We need to make sure this works if the user is a new record and once it has been persisted. While the user is a new record the identity will have no user_id. Old identities that are left to block the login of a user who canceled their account also have a blank user_id. They still should render the new identity invalid so the user can't be saved with a login that has been reserved. Once the user has been persisted we set the user_id on the identity and save it too when creating an Account. This allows us to create a plain user and save it and it will still have an in memory identity only. But the default is to create the user by means of creating an account so an identity will be created as well.
2014-05-28allow changing the user_id on an identityAzul
we set it to nil when we disable it
2014-05-28bring back the alias functionality in IdentitiesAzul
2014-05-28ensure identity is cleared on user.reload - fixes testAzul
2014-05-28minor: beautify handle lookup in etc/passwd someAzul
2014-05-28use Identity for testing login availabilityAzul
We create an identity alongside each user. Make sure the identity is valid when creating the user. This also ensures that the login picked is available because otherwise the identities address would not be available anymore.
2014-05-26Merge pull request #163 from azul/feature/3398-save-hashed-tokenazul
hash token with sha512 against timing attacs #3398
2014-05-26hash token with sha512 against timing attacs #3398Azul
2014-05-19store fingerprints with timestampAzul
Only storing the date as that should suffice for normal expiry and is less useful for identifying users by timestamps
2014-05-19store cert fingerprint with main user identityAzul
2014-05-19fix Email so User.new.valid? does not crashAzul
Email.new(nil) now returns an invalid email rather than crashing.
2014-05-19calculate cert fingerprints to store for leap_mxAzul
stelfox.net/blog/2014/04/calculating-rsa-key-fingerprints-in-ruby/
2014-05-13destinguish user.email from user.email_addressAzul
use the former if you want a working email account or nil, the latter if you want the email address associated with a given user no matter if the user actually has an email account or not.
2014-05-13keep empty email field if user removed prefillAzul
We should respect the users choice. We can still get their email from the user id if we really need to.
2014-05-13allow for usernames with dotsAzul
preparing for #5664 with some test improvements i ran into this issue This commit includes a fix and the test improvements. In particular it adds BrowserIntegrationTest#login - so there is no need to go through the signup procedure everytime you want a user to be logged in.
2014-04-18adopt service_level config to platform settingsAzul
cost -> rate quota -> storage
2014-04-18bringing back empty cert prefixesAzul
if neither limited nor unlimited certs are allowed there will be no prefix. Not sure if this is desired - but it's the way things used to be before the refactoring
2014-04-18change service level configuration strategyAzul
The changes to the configuration required some non minor changes to the platform and also added some flexibility we don't require yet - and thus some new possibilities for errors. So instead we still use the allow_..._certs and ..._cert_prefix options. They basically provide the framework in which service levels can operate. The service level configuration will not include the cert prefix anymore. It only states if the service level is rate limited or not. This avoids conflicts between the two configuration options. I also removed the anonymous service level entirely. It was also turning a boolean decision (do we provide anonymous eip or not) into something way more complex. Instead I added the AnonymousServiceLevel class to handle the corner cases for people who are not logged in. Furthermore i renamed the UnauthenticatedUser to AnonymousUser so it matches the Anonymous Service Level nicely. It's also shorter and more intuitive.
2014-04-17make use of the UnauthorizedUserAzul
Null Pattern for current_user - use it to get rid of some conditionals
2014-04-17UnauthenticatedUser as current_userAzul
this still allows us to do current_user.service_level. Have not gone through the rest of the code yet. Only made sure logged_in? now tests for is_a? User instead of !!current_user
2014-04-17initial commit for the service level apiAzul
:api/service will return a hash of the current users service level This is failiing if the user is not logged in. Instead it should return the service description for an anonymous user.
2014-04-10move certs into toplevelAzul
cleaned up all the engine stuff that was never really used. Afterwards there is not that much left that makes it into the toplevel.
2014-04-08moving users: app and test filesAzul
2012-09-27Adding in what used to be leap webapp demoAzul
we're merging repositories into one