Skip to content

Commit eb33a60

Browse files
committed
feat: support mapping avatar url from oauth2
1 parent e419164 commit eb33a60

File tree

11 files changed

+113
-256
lines changed

11 files changed

+113
-256
lines changed

plugin/idp/idp.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,5 @@ type IdentityProviderUserInfo struct {
44
Identifier string
55
DisplayName string
66
Email string
7+
AvatarURL string
78
}

plugin/idp/oauth2/oauth2.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -113,5 +113,10 @@ func (p *IdentityProvider) UserInfo(token string) (*idp.IdentityProviderUserInfo
113113
userInfo.Email = v
114114
}
115115
}
116+
if p.config.FieldMapping.AvatarUrl != "" {
117+
if v, ok := claims[p.config.FieldMapping.AvatarUrl].(string); ok {
118+
userInfo.AvatarURL = v
119+
}
120+
}
116121
return userInfo, nil
117122
}

proto/api/v1/idp_service.proto

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,7 @@ message FieldMapping {
6969
string identifier = 1;
7070
string display_name = 2;
7171
string email = 3;
72+
string avatar_url = 4;
7273
}
7374

7475
message OAuth2Config {

proto/buf.gen.yaml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
version: v2
2-
clean: true
32
managed:
43
enabled: true
54
disable:

proto/gen/api/v1/idp_service.pb.go

Lines changed: 12 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)