Skip to content

Commit

Permalink
Merge pull request #114 from ubccr/mokey-0-6
Browse files Browse the repository at this point in the history
Major refactor
  • Loading branch information
aebruno authored Jan 25, 2023
2 parents 68feca5 + 481de00 commit 47acf0f
Show file tree
Hide file tree
Showing 197 changed files with 8,718 additions and 8,722 deletions.
4 changes: 4 additions & 0 deletions .env.sample
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
IPA_ADMIN_PASS="changeme"
IPA_DS_PASS="this is insecure"
DEV_SSH_KEY="ssh-rsa AAAAxxxxxxxx"
GO_VERSION=1.17.7
8 changes: 7 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
mokey.yaml
mokey.toml
mokey.db
mokey
vendor/
.env
dist/
key.gpg
mokey-*.tar.gz
*.swp
76 changes: 76 additions & 0 deletions .goreleaser.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
# Mokey goreleaser configs
# See here: https://goreleaser.com
before:
hooks:
- go mod tidy
builds:
- env:
- CGO_ENABLED=0
goarch:
- amd64
goos:
- linux
ldflags:
- -s -w -X github.com/ubccr/mokey/server.Version={{.Version}}
archives:
- replacements:
linux: linux
amd64: x86_64
wrap_in_directory: true
name_template: "{{ .ProjectName }}-{{ .Version }}-{{ .Os }}-{{ .Arch }}"
files:
- LICENSE
- NOTICE
- README.md
- ChangeLog.md
- mokey.toml.sample
nfpms:
- vendor: University at Buffalo
homepage: https://github.com/ubccr/mokey
maintainer: Andrew E. Bruno <aebruno2@buffalo.edu>
license: MIT
description: |-
FreeIPA self-service account management tool
formats:
- deb
- rpm
overrides:
deb:
file_name_template: "{{ .ProjectName }}_{{ .Version }}_{{ .Arch }}"
scripts:
postinstall: ./scripts/nfpm/postinstall.sh
rpm:
file_name_template: "{{ .ProjectName }}-{{ .Version }}-{{ .Arch }}"
scripts:
postinstall: ./scripts/nfpm/postinstall.sh
rpm:
signature:
key_file: key.gpg
deb:
signature:
key_file: key.gpg
contents:
- src: ./scripts/nfpm/mokey.toml.default
dst: /etc/mokey/mokey.toml
type: "config|noreplace"
- src: ./scripts/nfpm/mokey.service
dst: /usr/lib/systemd/system/mokey.service
checksum:
name_template: 'checksums.txt'
snapshot:
name_template: "{{ incpatch .Version }}-SNAPSHOT-{{.ShortCommit}}"
changelog:
sort: desc
groups:
- title: Features
regexp: "^.*feat[(\\w)]*:+.*$"
order: 0
- title: 'Bug fixes'
regexp: "^.*fix[(\\w)]*:+.*$"
order: 1
- title: Other
order: 999
filters:
exclude:
- '^docs:'
- 'typo'
79 changes: 40 additions & 39 deletions ChangeLog.rst → ChangeLog.md
Original file line number Diff line number Diff line change
@@ -1,17 +1,27 @@
===============================================================================
ChangeLog
===============================================================================
# Mokey ChangeLog

`v0.5.6`_ (2021-05-18)
----------------------
## [v0.6.0] - 2023-01-25

- Major re-write. New login flow and template layout
- Upgrade to bootstrap 5
- Remove database dependency
- Switch to using Fiber web framework and htmx frontend
- New email text/html templates
- Add terms of service url to sign up page [#97](https://github.com/ubccr/mokey/issues/97)
- Add better messaging for disabled user at login [#22](https://github.com/ubccr/mokey/issues/22)
- Notification email sent anytime account updated [#82](https://github.com/ubccr/mokey/issues/82)
- Allow configuring default hash algorithm for OTP [#99](https://github.com/ubccr/mokey/issues/99)
- Add user block list [#83](https://github.com/ubccr/mokey/issues/83)
- Make server timeouts configurable [#109](https://github.com/ubccr/mokey/issues/109)

## [v0.5.6] - 2021-05-18

- Add config option to replace unexpired password tokens
- Add email flag to resetpw command
- Relax CSP settings to allow inline images and js
- Add change expired password login flow

`v0.5.5`_ (2021-03-25)
----------------------
## [v0.5.5] - 2021-03-25

- Add security related HTTP headers #55
- Upgrade to latest hydra sdk. Tested against hydra v1.9.2
Expand All @@ -20,28 +30,24 @@ ChangeLog
- Restrict username to lowercase and not only number when signing up @cmd-ntrf
- Add option to always skip consent in hydra login flow @isard-vdi

`v0.5.4`_ (2020-07-14)
----------------------
## [v0.5.4] - 2020-07-14

- Fix bug with missing set-cookie header issue #53

`v0.5.3`_ (2019-10-29)
----------------------
## [v0.5.3] - 2019-10-29

- Update Login/Conset flow for hydra v1.0.3+oryOS.10
- Add support for SMTP AUTH (@cdwertmann)
- Implement fully encrypted SMTP connection (@g5pw)
- Fix bug if session keys change or session gets corrupted
- Upgrade to echo v4

`v0.5.2`_ (2018-09-12)
----------------------
## [v0.5.2] - 2018-09-12

- Add option to disable user signup
- Add new command for re-sending verify emails

`v0.5.1`_ (2018-09-12)
----------------------
## [v0.5.1] - 2018-09-12

- Major code refactor to use echo framework
- Add user signup/registration (Fixes #8)
Expand All @@ -54,56 +60,51 @@ ChangeLog
- Remove dependecy on krb5-libs (now using pure go kerberos library)
- Update build to use vgo

`v0.0.6`_ (2018-01-09)
----------------------
## [v0.0.6] - 2018-01-09

- Add new OAuth/OpenID Connect consent endpoint for Hydra
- Add support for api key access to consent endpoint
- Add user status command
- Add support for FreeIPA 4.5
- Fix optional security question on password reset for fresh accounts (PR #11)

`v0.0.5`_ (2017-08-01)
----------------------
## [v0.0.5] - 2017-08-01

- Add support for managing SSH Public Keys
- Add support for managing OTP Tokens
- Add support for enabling Two-Factor Authentication
- Refresh UI

`v0.0.4`_ (2015-09-03)
----------------------
## [v0.0.4] - 2015-09-03

- Min password length configurable option
- Add HMAC signed tokens

`v0.0.3`_ (2015-09-02)
----------------------
## [v0.0.3] - 2015-09-02

- Rate limiting configurable option
- Re-locate static template directory
- Add check for empty user name in forgot password

`v0.0.2`_ (2015-08-29)
----------------------
## [v0.0.2] - 2015-08-29

- Add rpm spec
- Set ipahost from /etc/ipa/default.conf

`v0.0.1`_ (2015-08-28)
----------------------
## [v0.0.1] - 2015-08-28

- Initial release

.. _v0.0.1: https://github.com/ubccr/mokey/releases/tag/v0.0.1
.. _v0.0.2: https://github.com/ubccr/mokey/releases/tag/v0.0.2
.. _v0.0.3: https://github.com/ubccr/mokey/releases/tag/v0.0.3
.. _v0.0.4: https://github.com/ubccr/mokey/releases/tag/v0.0.4
.. _v0.0.5: https://github.com/ubccr/mokey/releases/tag/v0.0.5
.. _v0.0.6: https://github.com/ubccr/mokey/releases/tag/v0.0.6
.. _v0.5.1: https://github.com/ubccr/mokey/releases/tag/v0.5.1
.. _v0.5.2: https://github.com/ubccr/mokey/releases/tag/v0.5.2
.. _v0.5.3: https://github.com/ubccr/mokey/releases/tag/v0.5.3
.. _v0.5.4: https://github.com/ubccr/mokey/releases/tag/v0.5.4
.. _v0.5.5: https://github.com/ubccr/mokey/releases/tag/v0.5.5
.. _v0.5.6: https://github.com/ubccr/mokey/releases/tag/v0.5.6
[v0.0.1]: https://github.com/ubccr/mokey/releases/tag/v0.0.1
[v0.0.2]: https://github.com/ubccr/mokey/releases/tag/v0.0.2
[v0.0.3]: https://github.com/ubccr/mokey/releases/tag/v0.0.3
[v0.0.4]: https://github.com/ubccr/mokey/releases/tag/v0.0.4
[v0.0.5]: https://github.com/ubccr/mokey/releases/tag/v0.0.5
[v0.0.6]: https://github.com/ubccr/mokey/releases/tag/v0.0.6
[v0.5.1]: https://github.com/ubccr/mokey/releases/tag/v0.5.1
[v0.5.2]: https://github.com/ubccr/mokey/releases/tag/v0.5.2
[v0.5.3]: https://github.com/ubccr/mokey/releases/tag/v0.5.3
[v0.5.4]: https://github.com/ubccr/mokey/releases/tag/v0.5.4
[v0.5.5]: https://github.com/ubccr/mokey/releases/tag/v0.5.5
[v0.5.6]: https://github.com/ubccr/mokey/releases/tag/v0.5.6
[v0.6.0]: https://github.com/ubccr/mokey/releases/tag/v0.6.0
32 changes: 11 additions & 21 deletions NOTICE
Original file line number Diff line number Diff line change
@@ -1,30 +1,20 @@
mokey includes software developed by:

- Bootstrap. Copyright 2011-2017 the Bootstrap Authors and Twitter, Inc. Code
- Bootstrap. Copyright 2011-2018 the Bootstrap Authors and Twitter, Inc. Code
released under the MIT License.

- Font Awesome by Dave Gandy - http://fontawesome.io. CSS released under MIT
- Font Awesome by Dave Gandy (http://fontawesome.io) CSS released under MIT
License. Webfonts released under SIL OFL 1.1

- jQuery - Copyright JS Foundation and other contributors,
https://js.foundation/ released under the following license:
- htmx (https://htmx.org/) Copyright 2020, Big Sky Software released under
BSD 2-Clause License

Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:
- sweetalert2 (https://sweetalert2.github.io/) Copyright 2014 Tristan Edwards &
Limon Monte released under the MIT License.

The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- Email templates adopted from postmark-templates (https://github.com/ActiveCampaign/postmark-templates)
Copyright 2015 Wildbit released under the MIT License (MIT)

- docker-compose development environment adopted from the webauthinfra project.
(https://github.com/adelton/webauthinfra). Web application authentication developer setup
Copyright 2016--2018 Jan Pazdziora Licensed under the Apache License, Version 2.0
Loading

0 comments on commit 47acf0f

Please sign in to comment.