Commit Graph

36 Commits

Author SHA1 Message Date
Akshay Gaikwad
ad3cbc10d3 Convert Idp API spec to GVK style 2022-01-19 12:38:09 +05:30
Akshay Gaikwad
c1ba133383 Register IdpService in main.go and minor changes in Idp model 2022-01-18 18:07:17 +05:30
Akshay Gaikwad
d794603d7f Add DeleteIdp rpc method
Signed-off-by: Akshay Gaikwad <akshay.gaikwad@rafay.co>
2022-01-17 13:12:25 +05:30
Akshay Gaikwad
2ef237dac5 Add IdP swagger details and HTTP endpoints to RPCs
Signed-off-by: Akshay Gaikwad <akshay.gaikwad@rafay.co>
2022-01-17 12:41:39 +05:30
Akshay Gaikwad
8464307c1e SAML Authentication and IDP Service
Initial SAML based authentication in usermgmt component

Signed-off-by: Akshay Gaikwad <akshay.gaikwad@rafay.co>

Update SAMLAuth middleware

- Get username from request body
- Validate for exiwstng session
- Redirect to IDP authentication when no valid session

Modification in SAML middlewares

- Reduce duplicate code by new function createSAMLMiddleware

Restructure saml package

- Moved SAML Middlewares to middleware.go
- Embed samlsp.Middleware into own struct

Use EntityDAO from common and mock Idp model for testing

Signed-off-by: Akshay Gaikwad <akshay.gaikwad@rafay.co>

Add IDP API definitions

Signed-off-by: Akshay Gaikwad <akshay.gaikwad@rafay.co>

Add interface for IdpService

Add id to UpdateIdp proto message

Add metadata_url to UpdateIdp message and limit to ListIdps rpc

Implement Idp Service methods

Update Idp model

Remove main.go and mocked idp model

Generate ACS URL and SAML SP cert

Change Id type in proto as well as in IDP model

Update IDP model struct tags

Set TimeFormat for IDP service

Update generateSpCert() and generateAcsURL()

Add idpServer which is wrapper around idpService

idpServer is a gRPC controller.

Add back-end validations for idp service
2022-01-17 11:29:55 +05:30
Abin Simon
64a70363db Simplify server package for usermgmt 2022-01-13 10:29:54 +05:30
Abin Simon
ca11e2bd9b Updated rest examples file 2022-01-13 10:18:56 +05:30
Abin Simon
0aef2df882 Few tweaks on resource response on success 2022-01-13 10:18:56 +05:30
Abin Simon
f2124caf28 User spec can now specify the groups a user belongs to 2022-01-12 17:35:38 +05:30
Abin Simon
9a189f4bb6 Return updated status back to client on error 2022-01-12 17:35:38 +05:30
Abin Simon
dca468292d Revert bun version to 1.0.20
1.0.21 was returning `0` for the ids after insertion
2022-01-12 17:35:38 +05:30
Abin Simon
7bbc1541f8 Set Trash colums in models to default to false 2022-01-12 17:35:38 +05:30
Abin Simon
4e77e0495c Fix a few issues in group proto spec 2022-01-12 17:35:38 +05:30
Abin Simon
723c719eb9 Switch to using EntityDAO from common 2022-01-12 17:35:38 +05:30
Abin Simon
82cec87a0a Post rebase fixes 2022-01-12 17:35:38 +05:30
Abin Simon
eba34f40ed Users can now be assigned to roles without group 2022-01-12 17:35:38 +05:30
Abin Simon
21e06a0b6f Switch kratos from using mem to db 2022-01-12 17:35:38 +05:30
Abin Simon
d8b8fab1ff Move user management to new strucutre 2022-01-12 17:35:38 +05:30
Abin Simon
36b00390fe Project, group, namespace, role linking basics 2022-01-12 17:35:37 +05:30
Abin Simon
9e2d13876c Group creation now also maps proper accounts 2022-01-12 17:35:37 +05:30
Abin Simon
544a2d6bb0 Basic CRUD operations on role can now be done 2022-01-12 17:35:37 +05:30
Abin Simon
769acb9c80 Complete basic setup for groups in usermgmt 2022-01-12 17:35:37 +05:30
Abin Simon
461683145b Simplify input and output for user operations
Post rebase fixups
2022-01-12 17:35:37 +05:30
Abin Simon
6c4c1b4b29 Fix incorrect imports with buf generate 2022-01-12 17:35:37 +05:30
Abin Simon
3bf7e6e61c Add a simple readme for usermgmt 2022-01-12 17:35:37 +05:30
Abin Simon
7ca97c845d Initial kratos config files to start a server
To start kratos:
kratos serve -c kratos.yml
2022-01-12 17:35:37 +05:30
Abin Simon
428672f313 Simple user CRUD operations 2022-01-12 17:35:37 +05:30
Abin Simon
1f7774edf9 Basic server setup complete for usermgmt 2022-01-12 17:35:37 +05:30
Abin Simon
fc372512c2 Update proto files for usermgmt 2022-01-12 17:35:37 +05:30
Abin Simon
080ca34859 Add proto generated files 2022-01-12 17:35:37 +05:30
Abin Simon
424a778d69 Add rpc definitions for usermgmt 2022-01-12 17:35:37 +05:30
Abin Simon
88551d3678 Add types for user management proto files 2022-01-12 17:35:37 +05:30
Akshay Gaikwad
25a3cd007f Move entity_dao.go to common
This includes:
 - Move entity_dao.go to common since it is generic database operation
 interface for all the components.
 - Added `GetX` method to EntityDAO interface. It get entity that matches
 provided field and value both. It is useful in case where service
 lookup for database entities not based on id, name.

Signed-off-by: Akshay Gaikwad <akshay.gaikwad@rafay.co>
2022-01-10 11:49:18 +05:30
nirav-rafay
f5ac6a5752 resolved review comments 2021-12-31 14:45:15 +05:30
nirav-rafay
adc5532cf6 changes for projects, organization and partner endpoints 2021-12-31 12:36:13 +05:30
nirav-rafay
fcc6f0be90 initial commit for adminsrv 2021-12-28 14:23:52 +05:30