Feat/add ping idp provider#151
Conversation
Dependency Review✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.Scanned FilesNone |
There was a problem hiding this comment.
Pull request overview
This pull request adds Ping Identity (PingOne) as a new Identity Provider (IdP) option to the identity service. The implementation includes backend API changes via protobuf definitions, Go implementation with HTTP client integration for PingOne APIs, frontend UI components for configuration, comprehensive test coverage, and documentation.
Changes:
- Added
IDP_TYPE_PINGenum value andPingIdpSettingsmessage to protocol buffers - Implemented
PingIdpstruct in Go with methods for testing settings, creating/deleting client credentials - Added frontend form inputs, validation schemas, UI components, and Ping Identity logo
- Included comprehensive unit tests for backend implementation and frontend schema validation
- Added detailed documentation for configuring Ping Identity as an IdP
Reviewed changes
Copilot reviewed 55 out of 58 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
backend/api/spec/proto/agntcy/identity/service/v1alpha1/settings.proto |
Added PingIdpSettings message and IDP_TYPE_PING enum value |
backend/internal/core/idp/ping_idp.go |
Core implementation of Ping Identity provider with OAuth2 client credentials flow |
backend/internal/core/idp/ping_idp_test.go |
Comprehensive unit tests for Ping IdP implementation |
backend/internal/core/idp/idp_factory.go |
Registered Ping IdP in factory pattern |
backend/internal/core/settings/types/types.go |
Added PingIdpSettings type and IDP_TYPE_PING constant |
backend/internal/core/settings/postgres/models.go |
Database models for persisting Ping IdP settings with encryption |
frontend/src/schemas/identity-provider-schema.ts |
Validation schema for Ping IdP configuration fields |
frontend/src/components/identity-provider/create/form/identity-provider-form.tsx |
Form UI for Ping IdP configuration |
frontend/src/assets/ping.svg |
Ping Identity logo asset |
docs/docs/idp.md |
Documentation for Ping Identity setup and configuration |
scripts/proto/docker/Dockerfile.buf |
Updated Go version in Docker build |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
cc0f7fe to
84803f4
Compare
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 54 out of 57 changed files in this pull request and generated no new comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 56 out of 59 changed files in this pull request and generated 1 comment.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Signed-off-by: jdiaconu <jdiaconu@cisco.com>
Signed-off-by: jdiaconu <jdiaconu@cisco.com>
Signed-off-by: jdiaconu <jdiaconu@cisco.com>
Signed-off-by: jdiaconu <jdiaconu@cisco.com>
Signed-off-by: jdiaconu <jdiaconu@cisco.com>
Signed-off-by: jdiaconu <jdiaconu@cisco.com>
Signed-off-by: jdiaconu <jdiaconu@cisco.com>
Signed-off-by: jdiaconu <jdiaconu@cisco.com>
367539c to
ced2b53
Compare
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 56 out of 59 changed files in this pull request and generated 5 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| if settings != nil && settings.Region != "" && | ||
| strings.Contains(pingRegions, settings.Region) { | ||
| region = settings.Region |
There was a problem hiding this comment.
The region validation using strings.Contains is unsafe. For example, the input "comeup" would incorrectly match because it contains "com", or "eu" would match against "com.au". Use a proper validation approach with an exact match against allowed regions.
Signed-off-by: jdiaconu <jdiaconu@cisco.com>
Signed-off-by: jdiaconu <jdiaconu@cisco.com>
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 56 out of 58 changed files in this pull request and generated 2 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 56 out of 58 changed files in this pull request and generated 2 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Signed-off-by: jdiaconu <jdiaconu@cisco.com>
Signed-off-by: jdiaconu <jdiaconu@cisco.com>
Signed-off-by: jdiaconu <jdiaconu@cisco.com>
Signed-off-by: jdiaconu <jdiaconu@cisco.com>
Signed-off-by: jdiaconu <jdiaconu@cisco.com>
Description
Add Ping Identity as an IdP.
Type of Change
Checklist