[#1377] added Authentik OAuth2 provider

Co-authored-by: Marc Singer <ms@pr0.tech>
This commit is contained in:
Gani Georgiev
2023-01-16 11:47:08 +02:00
parent fd97732d4d
commit 6d08a5f36f
41 changed files with 261 additions and 116 deletions
+4 -1
View File
@@ -194,7 +194,10 @@ func (form *RecordOAuth2Login) submit(data *RecordOAuth2LoginData) error {
createForm := NewRecordUpsert(form.app, data.Record)
createForm.SetFullManageAccess(true)
createForm.SetDao(txDao)
if data.OAuth2User.Username != "" && usernameRegex.MatchString(data.OAuth2User.Username) {
if data.OAuth2User.Username != "" &&
len(data.OAuth2User.Username) >= 3 &&
len(data.OAuth2User.Username) <= 150 &&
usernameRegex.MatchString(data.OAuth2User.Username) {
createForm.Username = form.dao.SuggestUniqueAuthRecordUsername(
form.collection.Id,
data.OAuth2User.Username,
+1 -1
View File
@@ -467,7 +467,7 @@ func (form *RecordUpsert) Validate() error {
&form.Username,
// require only on update, because on create we fallback to auto generated username
validation.When(!form.record.IsNew(), validation.Required),
validation.Length(3, 100),
validation.Length(3, 150),
validation.Match(usernameRegex),
validation.By(form.checkUniqueUsername),
),
+2 -2
View File
@@ -780,10 +780,10 @@ func TestRecordUpsertAuthRecord(t *testing.T) {
true,
},
{
"invalid username length (more than 100)",
"invalid username length (more than 150)",
"",
map[string]any{
"username": strings.Repeat("a", 101),
"username": strings.Repeat("a", 151),
"password": "12345678",
"passwordConfirm": "12345678",
},