Skip to content

Commit 070eed8

Browse files
authored
Merge pull request #3534 from gravitl/fix/auth
Fix/auth
2 parents 05fe849 + bd9a6f1 commit 070eed8

File tree

4 files changed

+17
-2
lines changed

4 files changed

+17
-2
lines changed

pro/auth/error.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ var htmlBaseTemplate = `<!DOCTYPE html>
9393
</html>`
9494

9595
var oauthNotConfigured = fmt.Sprintf(htmlBaseTemplate, `<h2>Your Netmaker server does not have OAuth configured.</h2>
96-
<p>Please visit the docs <a href="https://docs.netmaker.io/docs/server-installation/integrating-oauth" target="_blank" rel="noopener">here</a> to learn how to.</p>`)
96+
<p>Please visit the docs <a href="https://docs.netmaker.io/docs/server-installation/identity-provider-integration-guide" target="_blank" rel="noopener">here</a> to learn how to.</p>`)
9797

9898
var oauthStateInvalid = fmt.Sprintf(htmlBaseTemplate, `<h2>Invalid OAuth Session. Please re-try again.</h2>`)
9999

pro/auth/sync.go

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,12 @@ func syncUsers(idpUsers []idp.User) error {
122122
filters := logic.GetServerSettings().UserFilters
123123

124124
for _, user := range idpUsers {
125+
if user.AccountArchived {
126+
// delete the user if it has been archived.
127+
_ = logic.DeleteUser(user.Username)
128+
continue
129+
}
130+
125131
var found bool
126132
for _, filter := range filters {
127133
if strings.HasPrefix(user.Username, filter) {
@@ -150,6 +156,13 @@ func syncUsers(idpUsers []idp.User) error {
150156
if err != nil {
151157
return err
152158
}
159+
160+
// It's possible that a user can attempt to log in to Netmaker
161+
// after the IDP is configured but before the users are synced.
162+
// Since the user doesn't exist, a pending user will be
163+
// created. Now, since the user is created, the pending user
164+
// can be deleted.
165+
_ = logic.DeletePendingUser(user.Username)
153166
} else if dbUser.AuthType == models.OAuth {
154167
if dbUser.AccountDisabled != user.AccountDisabled ||
155168
dbUser.DisplayName != user.DisplayName ||

pro/idp/google/google.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,14 +63,15 @@ func (g *Client) GetUsers() ([]idp.User, error) {
6363
var retval []idp.User
6464
err := g.service.Users.List().
6565
Customer("my_customer").
66-
Fields("users(id,primaryEmail,name,suspended)", "nextPageToken").
66+
Fields("users(id,primaryEmail,name,suspended,archived)", "nextPageToken").
6767
Pages(context.TODO(), func(users *admindir.Users) error {
6868
for _, user := range users.Users {
6969
retval = append(retval, idp.User{
7070
ID: user.Id,
7171
Username: user.PrimaryEmail,
7272
DisplayName: user.Name.FullName,
7373
AccountDisabled: user.Suspended,
74+
AccountArchived: user.Archived,
7475
})
7576
}
7677

pro/idp/idp.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ type User struct {
1010
Username string
1111
DisplayName string
1212
AccountDisabled bool
13+
AccountArchived bool
1314
}
1415

1516
type Group struct {

0 commit comments

Comments
 (0)