Skip to content

Commit

Permalink
Merge branch 'main' into issue-1096
Browse files Browse the repository at this point in the history
  • Loading branch information
IgnisDa authored Oct 16, 2023
2 parents 364ff7c + 45c2442 commit 4e37f98
Show file tree
Hide file tree
Showing 182 changed files with 2,396 additions and 478 deletions.
2 changes: 0 additions & 2 deletions .github/workflows/docs-deploy.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
name: Deploy to GitHub Pages

on:
push:
tags: [ 'backend/v*.*.*' ]
workflow_dispatch:

jobs:
Expand Down
3 changes: 0 additions & 3 deletions .lift/ignoreFiles

This file was deleted.

18 changes: 9 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,9 @@
[![npm (scoped)](https://img.shields.io/npm/v/@teamhanko/hanko-frontend-sdk?label=hanko-frontend-sdk)](https://www.npmjs.com/package/@teamhanko/hanko-frontend-sdk)

# About Hanko
Hanko is an open-source authentication and user management solution with a focus on moving the login beyond passwords, while being 100% deployable today.
Hanko is an open source authentication and user management solution with a focus on moving the login beyond passwords, while being 100% deployable today.

- Built around [passkeys](https://www.passkeys.io) as introduced by Apple, Google, and Microsoft
- Built for [passkeys](https://www.passkeys.io) as introduced by Apple, Google, and Microsoft
- Fast integration with Hanko Elements web components (login box and user profile)
- API-first, small footprint, cloud-native

Expand All @@ -31,7 +31,7 @@ With most devices and browsers now shipping with passkey support and convenient

# Architecture
The main building blocks of the Hanko project are
- [backend](/backend/README.md) - An authentication API for passkeys, passcodes, and (optional) passwords, as well as user management and JWT issuing
- [backend](/backend/README.md) - An authentication API for passkeys, passcodes, and (optional) passwords, OAuth SSO, as well as user management and JWT issuing
- [hanko-elements](/frontend/elements/README.md) - Web components made for Hanko backend that provide onboarding and login functionality and are customizable with CSS
- [hanko-frontend-sdk](/frontend/frontend-sdk/README.md) - A client package for using the Hanko API

Expand All @@ -45,7 +45,7 @@ The remainder of the repository consists of:
2. Head over to the [backend](/backend/README.md) to learn how to get it up and running for your own project. Use [Hanko Cloud](https://cloud.hanko.io) for a hosted backend.
3. Then, integrate [hanko-elements](/frontend/elements/README.md) – we provide [example applications](frontend/examples/README.md) and [guides](https://docs.hanko.io/guides/frontend) for your favourite frontend framework in the official documentation

If you want to use the Hanko backend API but prefer to build your own UI, you can still make use of the [hanko-frontend-sdk](/frontend/frontend-sdk/README.md). It forms the basis of our web components and the client it provides handles communication with the Hanko backend API and saves you the time of rolling your own.
If you want to use the Hanko backend API but prefer to build your own UI, you can still make use of the [hanko-frontend-sdk](/frontend/frontend-sdk/README.md). It forms the basis of our web components and the client it provides handles communication with the [Hanko backend API](https://docs.hanko.io/api-reference/introduction) and saves you the time of rolling your own.

# Contact us
Schedule a Hanko demo. Learn how Hanko will speed up your registration and login flows with passkeys.
Expand All @@ -54,7 +54,7 @@ Schedule a Hanko demo. Learn how Hanko will speed up your registration and login


# Roadmap
We are currently in **Beta** and may introduce breaking changes. Watch our releases, leave a star, join our [Slack community](https://www.hanko.io/community), or sign up to our [product news](https://www.hanko.io/updates) to follow the development. Here's a brief overview of our roadmap:
We are currently in **Beta** and may introduce breaking changes. Watch our releases, leave a star, join our [Discord community](https://www.hanko.io/community), or sign up to our [product news](https://www.hanko.io/updates) to follow the development. Here's a brief overview of our roadmap:

| Status | Feature |
|:------:| :--- |
Expand All @@ -78,6 +78,7 @@ We are currently in **Beta** and may introduce breaking changes. Watch our relea
|| i18n & custom translations |
|| User import |
|| Disable sign-ups |
|⚙️| Enterprise SSO (OIDC/SAML) |
|⚙️| API-supported auth flows |
|⚙️| Mobile SDKs |
|⚙️| Basic email templating & i8n |
Expand All @@ -86,19 +87,18 @@ We are currently in **Beta** and may introduce breaking changes. Watch our relea
| | Refresh tokens / sessions |
| | Sign in with Microsoft |
| | OIDC support |
| | Enterprise SSO (OIDC/SAML) |

Additional features that have been requested or that we would like to build but are currently not on the roadmap:
- Priviledged sessions & step-up authentication
- Privileged sessions & step-up authentication
- Bot protection / Captcha
- SMS passcode delivery

# Community
## Questions, bugs, ideas
If you have any questions or issues, please check this project's [Q&A section in discussions](https://github.com/teamhanko/hanko/discussions/categories/q-a) and the [open issues](https://github.com/teamhanko/hanko/issues). Feel free to comment on existing issues or create a new issue if you encounter any bugs or have a feature request. For yet unanswered questions, feedback, or new ideas, please open a new discussion.

## Slack community & Twitter
We invite you to join our growing [Slack community](https://www.hanko.io/community) if you want to get the latest updates on passkeys, WebAuthn, and this project, or if you just want to chat with us. You can also [follow us on Twitter](https://twitter.com/hanko_io).
## Discord community & X
We invite you to join our growing [Discord community](https://www.hanko.io/community) if you want to get the latest updates on passkeys, WebAuthn, and this project, or if you just want to chat with us. You can also [follow us on Twitter](https://x.com/hanko_io).

# Licenses
[hanko-elements](frontend/elements) and [hanko-frontend-sdk](frontend/frontend-sdk) are licensed under the [MIT License](frontend/elements/LICENSE). Everything else in this repository, including [hanko backend](backend), is licensed under the [AGPL-3.0](/LICENSE).
8 changes: 6 additions & 2 deletions backend/config/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -41,10 +41,14 @@ func Load(cfgFile *string) (*Config, error) {
k := koanf.New(".")
var err error
if cfgFile == nil || *cfgFile == "" {
*cfgFile = "./config/config.yaml"
*cfgFile = DefaultConfigFilePath
}

if err = k.Load(file.Provider(*cfgFile), yaml.Parser()); err != nil {
return nil, fmt.Errorf("failed to load config from: %s: %w", *cfgFile, err)
if *cfgFile != DefaultConfigFilePath {
return nil, fmt.Errorf("failed to load config from: %s: %w", *cfgFile, err)
}
log.Println("failed to load config, skipping...")
} else {
log.Println("Using config file:", *cfgFile)
}
Expand Down
12 changes: 6 additions & 6 deletions backend/docs/Config.md
Original file line number Diff line number Diff line change
Expand Up @@ -491,7 +491,7 @@ third_party:
##
#
# The client ID (Services ID) of your Apple credentials.
# See: https://docs.hanko.io/guides/social/apple
# See: https://docs.hanko.io/guides/authentication-methods/oauth/apple
#
# Required if provider is enabled.
#
Expand All @@ -501,7 +501,7 @@ third_party:
#
# The generated secret of your Apple credentials.
# Valid for max. 6 months. Must be regenerated before expiration.
# https://docs.hanko.io/guides/social/apple
# https://docs.hanko.io/guides/authentication-methods/oauth/apple
#
# Required if provider is enabled.
#
Expand All @@ -521,15 +521,15 @@ third_party:
##
#
# The client ID of your Google OAuth credentials.
# See: https://docs.hanko.io/guides/social/google
# See: https://docs.hanko.io/guides/authentication-methods/oauth/google
#
# Required if provider is enabled.
#
client_id: "CHANGE_ME"
##
#
# The secret of your Google OAuth credentials
# See: https://docs.hanko.io/guides/social/google
# See: https://docs.hanko.io/guides/authentication-methods/oauth/google
#
# Required if provider is enabled.
#
Expand All @@ -549,15 +549,15 @@ third_party:
##
#
# The client ID of your GitHub OAuth credentials.
# See: https://docs.hanko.io/guides/social/github
# See: https://docs.hanko.io/guides/authentication-methods/oauth/github
#
# Required if provider is enabled.
#
client_id: "CHANGE_ME"
##
#
# The secret of your GitHub OAuth credentials.
# See: https://docs.hanko.io/guides/social/github
# See: https://docs.hanko.io/guides/authentication-methods/oauth/github
#
# Required if provider is enabled.
#
Expand Down
25 changes: 14 additions & 11 deletions backend/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ go 1.20
require (
github.com/brianvoe/gofakeit/v6 v6.23.2
github.com/fatih/structs v1.1.0
github.com/go-playground/validator/v10 v10.15.4
github.com/go-playground/validator/v10 v10.15.5
github.com/go-sql-driver/mysql v1.7.1
github.com/go-testfixtures/testfixtures/v3 v3.9.0
github.com/go-webauthn/webauthn v0.8.6
Expand All @@ -16,27 +16,27 @@ require (
github.com/gofrs/uuid v4.4.0+incompatible
github.com/gomodule/redigo v1.8.9
github.com/h2non/gock v1.2.0
github.com/invopop/jsonschema v0.8.0
github.com/invopop/jsonschema v0.12.0
github.com/jackc/pgconn v1.14.1
github.com/kelseyhightower/envconfig v1.4.0
github.com/knadh/koanf v1.5.0
github.com/labstack/echo-contrib v0.15.0
github.com/labstack/echo-jwt/v4 v4.2.0
github.com/labstack/echo/v4 v4.11.1
github.com/lestrrat-go/jwx/v2 v2.0.12
github.com/labstack/echo/v4 v4.11.2
github.com/lestrrat-go/jwx/v2 v2.0.13
github.com/lib/pq v1.10.9
github.com/mocktools/go-smtp-mock/v2 v2.1.0
github.com/nicksnyder/go-i18n/v2 v2.2.1
github.com/ory/dockertest/v3 v3.10.0
github.com/pkg/errors v0.9.1
github.com/rs/zerolog v1.30.0
github.com/rs/zerolog v1.31.0
github.com/sethvargo/go-limiter v0.7.2
github.com/sethvargo/go-redisstore v0.3.0
github.com/spf13/cobra v1.7.0
github.com/stretchr/testify v1.8.4
golang.org/x/crypto v0.13.0
golang.org/x/crypto v0.14.0
golang.org/x/exp v0.0.0-20230713183714-613f0c0eb8a1
golang.org/x/oauth2 v0.12.0
golang.org/x/oauth2 v0.13.0
golang.org/x/text v0.13.0
gopkg.in/gomail.v2 v2.0.0-20160411212932-81ebce5c23df
gopkg.in/yaml.v3 v3.0.1
Expand All @@ -51,7 +51,9 @@ require (
github.com/Nvveen/Gotty v0.0.0-20120604004816-cd527374f1e5 // indirect
github.com/andybalholm/brotli v1.0.5 // indirect
github.com/aymerick/douceur v0.2.0 // indirect
github.com/bahlo/generic-list-go v0.2.0 // indirect
github.com/beorn7/perks v1.0.1 // indirect
github.com/buger/jsonparser v1.1.1 // indirect
github.com/cenkalti/backoff/v4 v4.2.1 // indirect
github.com/cespare/xxhash/v2 v2.2.0 // indirect
github.com/containerd/continuity v0.3.0 // indirect
Expand Down Expand Up @@ -87,7 +89,6 @@ require (
github.com/google/uuid v1.3.0 // indirect
github.com/gorilla/css v1.0.0 // indirect
github.com/h2non/parth v0.0.0-20190131123155-b4df798d6542 // indirect
github.com/iancoleman/orderedmap v0.0.0-20190318233801-ac98e3ecb4b0 // indirect
github.com/imdario/mergo v0.3.13 // indirect
github.com/inconshreveable/mousetrap v1.1.0 // indirect
github.com/jackc/chunkreader/v2 v2.0.1 // indirect
Expand All @@ -105,12 +106,13 @@ require (
github.com/kr/text v0.2.0 // indirect
github.com/labstack/gommon v0.4.0 // indirect
github.com/leodido/go-urn v1.2.4 // indirect
github.com/lestrrat-go/blackmagic v1.0.1 // indirect
github.com/lestrrat-go/blackmagic v1.0.2 // indirect
github.com/lestrrat-go/httpcc v1.0.1 // indirect
github.com/lestrrat-go/httprc v1.0.4 // indirect
github.com/lestrrat-go/iter v1.0.2 // indirect
github.com/lestrrat-go/option v1.0.1 // indirect
github.com/luna-duclos/instrumentedsql v1.1.3 // indirect
github.com/mailru/easyjson v0.7.7 // indirect
github.com/mattn/go-colorable v0.1.13 // indirect
github.com/mattn/go-isatty v0.0.19 // indirect
github.com/mattn/go-sqlite3 v2.0.3+incompatible // indirect
Expand Down Expand Up @@ -143,16 +145,17 @@ require (
github.com/spf13/pflag v1.0.5 // indirect
github.com/valyala/bytebufferpool v1.0.0 // indirect
github.com/valyala/fasttemplate v1.2.2 // indirect
github.com/wk8/go-ordered-map/v2 v2.1.8 // indirect
github.com/x448/float16 v0.8.4 // indirect
github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb // indirect
github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 // indirect
github.com/xeipuuv/gojsonschema v1.2.0 // indirect
go.opentelemetry.io/otel v1.15.0 // indirect
go.opentelemetry.io/otel/trace v1.15.0 // indirect
golang.org/x/mod v0.11.0 // indirect
golang.org/x/net v0.15.0 // indirect
golang.org/x/net v0.17.0 // indirect
golang.org/x/sync v0.1.0 // indirect
golang.org/x/sys v0.12.0 // indirect
golang.org/x/sys v0.13.0 // indirect
golang.org/x/time v0.3.0 // indirect
golang.org/x/tools v0.7.0 // indirect
google.golang.org/appengine v1.6.7 // indirect
Expand Down
Loading

0 comments on commit 4e37f98

Please sign in to comment.