Skip to content

Commit 9234f3b

Browse files
committed
Add GitLab auth
1 parent d32e932 commit 9234f3b

File tree

5 files changed

+20
-50
lines changed

5 files changed

+20
-50
lines changed

backstage/app-config.yaml

Lines changed: 4 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -53,22 +53,15 @@ techdocs:
5353
auth:
5454
environment: development
5555
providers:
56-
# guest: {}
57-
# github:
58-
# development:
59-
# clientId: ${GITHUB_APP_CLIENT_ID}
60-
# clientSecret: ${GITHUB_APP_SECRET}
56+
guest: {}
6157
gitlab:
6258
development:
6359
clientId: ${AUTH_GITLAB_CLIENT_ID}
6460
clientSecret: ${AUTH_GITLAB_CLIENT_SECRET}
6561
audience: https://gitlab.diamond.ac.uk
66-
## uncomment if using a custom redirect URI
67-
# callbackUrl: https://${BASE_URL}/api/auth/gitlab/handler/frame
68-
# signIn:
69-
# resolvers:
70-
# # See https://backstage.io/docs/auth/gitlab/provider#resolvers for more resolvers
71-
# - resolver: usernameMatchingUserEntityName
62+
signIn:
63+
resolvers:
64+
- resolver: usernameMatchingUserEntityName
7265

7366
catalog:
7467
readonly: true

backstage/packages/backend/src/index.ts

Lines changed: 2 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -1,52 +1,15 @@
11
import { createBackend } from '@backstage/backend-defaults';
2-
import { createBackendModule } from '@backstage/backend-plugin-api';
3-
import { gitlabAuthenticator } from '@backstage/plugin-auth-backend-module-gitlab-provider';
4-
import {
5-
authProvidersExtensionPoint,
6-
createOAuthProviderFactory,
7-
} from '@backstage/plugin-auth-node';
82
import {
93
catalogPluginGitlabFillerProcessorModule,
104
gitlabPlugin,
115
} from '@immobiliarelabs/backstage-plugin-gitlab-backend';
126

13-
const customAuth = createBackendModule({
14-
// This ID must be exactly "auth" because that's the plugin it targets
15-
pluginId: 'auth',
16-
// This ID must be unique, but can be anything
17-
moduleId: 'custom-auth-provider',
18-
register(reg) {
19-
reg.registerInit({
20-
deps: { providers: authProvidersExtensionPoint },
21-
async init({ providers }) {
22-
providers.registerProvider({
23-
providerId: 'gitlab',
24-
factory: createOAuthProviderFactory({
25-
authenticator: gitlabAuthenticator,
26-
async signInResolver(info, ctx) {
27-
console.log(info);
28-
const userEntity = 'user:default/guest';
29-
return ctx.issueToken({
30-
claims: {
31-
sub: userEntity,
32-
ent: [userEntity],
33-
},
34-
});
35-
},
36-
}),
37-
});
38-
},
39-
});
40-
},
41-
});
42-
437
const backend = createBackend();
448

459
// Auth
4610
backend.add(import('@backstage/plugin-auth-backend'));
47-
// backend.add(import('@backstage/plugin-auth-backend-module-github-provider'));
48-
// backend.add(import('@backstage/plugin-auth-backend-module-gitlab-provider'));
49-
backend.add(customAuth);
11+
backend.add(import('@backstage/plugin-auth-backend-module-guest-provider'));
12+
backend.add(import('@backstage/plugin-auth-backend-module-gitlab-provider'));
5013

5114
// Catalog with Scaffolder module
5215
backend.add(import('@backstage/plugin-catalog-backend'));

charts/backend/dev-values.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,5 +16,7 @@ secrets:
1616
githubAppSecret: AgBViW+/AOCSg+nIhhxWqZf/Zn7WxWWHIYte6A5Y89W1aEl7iVI/dl4Fr+QGS/ucQVEpO0hKv2d1JVxbiJv82yR2BsHlvZnv6D6BTdfpW8XFrTGpgK5AUMIVoFpBBXuyd/3120KdqIN9U6V/MGFRvY4Cc5uf0yZ4DIfh8Om4BcgiyUkkKMSrnBftnEeP7ZOiDXMGyb5OGcFHc5duNDpIjgnfJz4E6mSqEHjrNcREeqxXWFa+hGoPDMr100h0x/cgseWMMi8FNZgDFmL8qfu/uzLbPTjG0auyajKjUJcbrpZHc85cLER9mLY5dIBSbn8Fm37z523kkAx2tDsw387/1e3frL81fTpqBCL/lGuqmGhV9e064KFf6iahRJXOJ133RrPsae1HkeNDzNp2gifLLWOCN1tl5DkmpgIZtN/9Bgz+hIqVGo4Q369Xrljx2xpzaFALV/EmjkSiaxsHeAJGITC2FYWEo+5hwg+hsVKehUWzbTBQVhIlSNr/xsSCWqcl8kJ3AD2QvWUtQtZn+eSjAnol8NgYUzfD4de0vDAy2o1LVEIF0+kPv6YxC+8DEWkrDiAR/N0sdWlviCnys8VEjzvf1kML6mPHBKHtfjR3QR+uNTSXv4kLDpMvQvuDNe0QGaUoOcim4MQCysYa215fu8NyycmhCAsO9kMvrdEgSfpetkA1rbq8grDLxWL1ptfc0cSMLkevOuGNI+omH04kLV9JUyZSUa3TOZMn6rAkmGXLCF5bJGpUI6T/
1717
githubToken: AgAZomoKEOt9/dinkfc6kpj8Hrq/pVVEBE7eklKUhexkZIEO5NCWNX8RByRC6JQgndL4fcS+whlHLBSaLnK6P46wfbdeH3kP6eNOgnQCoEn3grtKfvIhDqFLsxMkRKiYH18uikI8muIj4c8qDI5YTkgW+H2i8qx580tHw7IU9tz9eEqBtx5LoUA0DEX6jOlAh58ivgwhjmhXCgPkV0wU/9kumk2/rx4qeaNRz9+iUe6DJt5vmxjMMsHh+txoPeVEqf95XNBtHeSpDMwB8HkdnJZqgX6GLd55JUNb+ZNuFY9MUJabthLykMyTJ6ZVzJ4cvZn3p49i0NAIOdnuKWQ/o7Fy5KAN5nLiS3rP2tneR5+WVWL+ZFLbgaw5c8AbK7+9Ol6rhP6k1Pgd9DfkKlrODHosHp//TWXddnH6yZNQZRz1O8fxIlEyUezLx62gQQOnku23sntWSCUqsob1HkUyvHFHll+fmSQV78EKe5LyAroaQGDXVQK5roJCGWStHMCYhDvETzQyd0V+dd7tvOX4ColyeCZNY+1pOVexob+O888em2ubB2hRri6i2FvDOySUU5nHSNoOX6lOGMGyXV7KMCTodJQLZvONdJZEjlOtb6S0o1EiBC+IIYWYr/mR71fTUBuVkFQaMO17dFMe0TQ8t0XzwcHPrKAC+jPuUSDLEIBVZWw2Wf67vDE6xCbgNBF5+LOLemxG1j6WGJjQq3MKtf26gYoBBmyF9Pwhjv+OVm+RBzISb2b4eKK1
1818
gitlabToken: AgAIDeRGbHTXIo9htz+UJKy01ak7V16E53LNRShWtndgMKI3665/lVPTmX8uRbpSYxKdQjE56YHkZKjcms8GTVjaKLzaUxXmfxgPs3HZ/7cyRLZzCGoo7g4loMOjPk7Lp/BnEz6h8Dy7IHNYV42Ag452U0j1RvSCsAoZP/9mQ2yMmOFfhge7azS3eFaZ8h8j8Jz86wEfQcpiHRA/pvp59QbF21YDumP/DGB9qp/gheuGPJ0o3FRG4O364P3LK+JxV2JFbjuWw9S0a0lMB17NkEubrRkph+/2vHKiAUVVlQRAgb4DsgGAUtUUiMRPa/gzUaC4cI2A2ON6yV0EyljNV31/E7CAzSRP1m/uKy8E8Psywy5hC4WtuRgeda8J1PRuYV2NaGUcx/zbrLLNLX79gfSqkgp30vhjNftbx9YDV+lza18hIYetIL+pq/r6rDHaqFMxwJCB1ki19txbhmx+b3TojawkU0QeGBDBmjHw9k9RKJ9LNYWjSwZed00LXl1afAJFLMhbQGGz5AvHwq8Rdo4gvSstJPrOZMiptvlWTjeAQt8JLGjXpUyhaUQWo/kWIITqgNrvKAhHvK7FM1LcqKOffnnAVYtPzMeSu8vqIeOaQChZVvSwFFgRWfCN3PEasAkjDpGqI9HkUpinSAij1C7YZQ9SF9rLbL02jMLR4aFzzlUkTYULF7oZNER6F3chGdQjN3Alc9h1zTGYWLrAXCBOZosCdqr6JTZt2w==
19+
authGitlabClientId: AgBoTlY1xr1SM9BvQMbaPGVok8sb5s8QWpFs2Y6wr7UIeIMgkGbKBhv7HE2qJD7HiJ/DDL3p4r1of95vz1sKaPuZ/+AwxstjSEf6+N8YJbFz/aXNJ1RLZlExJ+V2/CWBVL4hGrg4OXpnNzc7LqUnnv3P2ZqeKX1341dt7EiGUYS2ymeLtmA+G0IXaAxwiydNUYsb0aMfUEnEL0f2IORzj+nInTNFRGwl8tUO9lsWhS356+FZDBlEtaErtqHsY1KzY5ox6DLiXlxmJKxeLNvrA6f0ycmhZqbmgF6FbZ4SccZA7ExAqxgiQpC3bc2K3Rw+mpZX6fNeRaSxSC3dlkCzjnFgoPUpeJrNtSDUzu7CoBqU4BcqhQ+6c/2xl0iFjoMlZx2hc8JpBlHao035FoawP4z4maXWevJayU4vkVNwq5ha/8K7GOaXL8Tl+Tv/W8BWvbfDSHNCXqYv5lzNyTkO8upUIt5nRibFxEO5dUbmbv72pRk9l/ecr+nTsdMhY2l3wgBHbJVEqarsrNu1s/QKq3BEvIs73fwETwueD7LE10RDo3T/WqPPYgdTwLEqwoiCWbFtXh6FSAttDCersUZXMW4oQqiC+p8fYfXonv/A+5JhIuXsmCffMO8oUkXYDiSBu2nsFag+VLDMCgQaG7Dmk4Ed/oO7WhWhJtXxvi9zmvMFv1B9L6/2kuJRXweSQn0YcfHYATq0sNZ9qo9jjZbTbfJbvlMaWsgPBmm6qVOqvTZinoiCl8sc1elD+sJJl8DzbpHz0UXAz2YIh/GDGb+ChfjM
20+
authGitlabClientSecret: AgAto99I1TxoOQWYQI/OFZelbqlM76cwkNM6vNqfbmi6sbGiab6FoZZ78wCJuaB+WU0Dgcdgi2yZGvLyLQjG6/AwrwZMTWsmE18Va+rW/apCsUAIZeQkiJYoDmV0HE6ptGvAa1ve/Evzp+QIzq7i5JX8VLe6FGo1VXMa1Arzuh5UQ4NKjaKWOO5FbJY75Ge4HuIoxFwz91drfluF3O2FgxSMXpoHY6tCaxJpy10VQhYWbeTcvY2EVfVJnofWhOUIH7VmvLdzoghZG2FuDbRpFHMLmOjDrlRQyDYxWjtIAThJ6o+BB8k9j/HDhMT4jgWMQSRHUOB8jcQVI+2oXkdCSAelsFVbfzjg/DnwzS/dlyXCrV9951GPmitbc3dI9roNqkrXlM7Azce/vjSst4wEvGBa5UjQutE+am6PCdTmgh5xEOXyAEcFDMojzxakDVNKr/C4vmvHOBqom6sNnbQc9vst0uWQmPyt+QtUs6JZYNx1Ig7J9K3a5qmwR/46SPiVcVb0e2u9N9q49UcklqeEPSOOhUz2fP9EVr0l2AhNKkphKNaovoFCA0XC+u8hJif+3/TPWj0zedrcS2x2JVr76+PO5auXrWAKPPOB+2y5rTKjp0w21ekfz+yCDQ34WsSSF/BGWLpkPyMqKYtxMeSOti+lUjRSa4wUHPbW8d7keLM7oN3AFtMMWFnyiIHPfA8TKPiKf1VAlFYuFb3y93K4DcH7hZsSJgjp4loqpmWJPAVzcsk3AJdZaUSde9w5hgnswzq8/w8bsg6uJa0CvC7prnBErlEpJLWn
1921
s3AccessKeyId: AgAHW3zmQDNqqdGam0sDwZ6cmVKNQpNXqLRQLbVycmG2XFCRPRe3ayAibj+nhMIqwM9sBcL9/qf6s2rGy9VKVnj810EXyVan+fTpPbFP/coEWf5mU7fFImv+baREJlqY5WuZoy+pZoqyY1tyxvjxRdnDEasVKX0CP0EnA3jpw9JFryY7cRgam+sz2FNmPc+0BnsmFUtIZzOzfGRFesXtLLVJkYZeXvG8VoQMLJOwVOiXNz1+/pMdGDsr6AEQh9aKhFOTMFpaVaQ4xwmATc5CFAbG4mVs3FOFjFOP1N3aHVZxubYrQKYyeRZNMkFOGnvs/j4dZSqoLau1T9ckS+3o3F5YJYYQl32YerKPHCridvqIUmEyBMCAtJBpgilsc07Nak+alSSn4UvDQK5TfwpOn/sIQoeyVKl1oiMnSkSpnhqxfdigJCTQv1JwIrt31ZRSz51uSiCILrRQGUnFqsK3iD5lS8wl2Lhzw6MjvDJhHJtCMErhKPy81//YCJrUziDy4Ha6/RCFTV1PNkTwWOMbQOa3gitwwPLhO3A6cWGspUO/mVH3r+TlJ0aRlZEGRkCCMASyOzAQELSSYre7+byhH7XrsAKAMgwI+sLLUZrkp9WnnwDbeCcRS+bxX1M7Qrr9bD2uOVG2oDQ97Hj4BLEXpKbI3oWFaVTV9loeM92liQI0Rt/DCCdBIK03Es4rD3VKkavGMDbZspNYju8GmSWRRi+mZ4UZ6w==
2022
s3AccessKeySecret: AgAmLViKnuqALeXA4otvsUymw9R+2ydPdL6r+aUAM/w6i8KDUq8o9f+wtN7hcyiklMbed0moos5j8P/Cko9hIcKH/AHh93JTPo+/kh9XSJWmtpoI2osbKrFT176XsHwhfW5K3nmKDcNa/7h3JuXQsc7v+yOLeZMdfmD4unFrKKTcbMGmv4i+9LrTRxAxVoakxiEP64swIM7wZF9St2NlCQA5CPJu+Q61mNWY0v7KnCbKpX3BzmPrIAERscYPY8GgfzXaz0y/01CMD8xrmt7O0YhDSrh+pVvb0iwV8tabn3zu0Y9srNn1bPsVFbCHTsN/kNXr+ikQ5xnKJijBC40M+POoe/O+6pQNqu68gNyCvOmTdOYUBAaUGPA3/D5KUJNmX+5nMYRhqUNS8bR0Z4/ppt9gcAgsZOEwb0+KUk10N32ELvrgdVXPJizUDXX1+lab+gED65ITCAxijlIc4dNIQGOYdcrsv18phJqphTuXPZT9dJxxDHM3s9dbhus77YN1DRCdMJvG2qjl9BPKfC0uUwKcKNhp0URhGF1Mq+dyliYo92kxW7pPs+QZOUAPjtcxJt+wCKj2+R6fuoNXm2sZRAKkHKkQ48iv9SBUxUCOAinP7CrrJwap29m7gVC4oehkHMqnlVwLXY5dw4toGxcB2R7lMWnZwDFED1/+kUkSt8xAGO6pyzYhc9A6Ft2yrpDq5J9O6C6OJVg/fP3WxiN7J2J7OBJHWJuQS+saShnTGdEhj2OzR5XgaAGG

charts/backend/templates/deployment.yaml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,16 @@ spec:
6666
secretKeyRef:
6767
name: {{ include "common.names.fullname" $ }}
6868
key: gitlab-token
69+
- name: AUTH_GITLAB_CLIENT_ID
70+
valueFrom:
71+
secretKeyRef:
72+
name: {{ include "common.names.fullname" $ }}
73+
key: auth-gitlab-client-id
74+
- name: AUTH_GITLAB_CLIENT_SECRET
75+
valueFrom:
76+
secretKeyRef:
77+
name: {{ include "common.names.fullname" $ }}
78+
key: auth-gitlab-client-secret
6979
- name: AWS_ACCESS_KEY_ID
7080
valueFrom:
7181
secretKeyRef:

charts/backend/templates/secrets.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@ spec:
1717
github-app-client-id: {{ .Values.secrets.githubAppClientId }}
1818
github-app-secret: {{ .Values.secrets.githubAppSecret }}
1919
github-token: {{ .Values.secrets.githubToken }}
20+
auth-gitlab-client-id: {{ .Values.secrets.authGitlabClientId }}
21+
auth-gitlab-client-secret: {{ .Values.secrets.authGitlabClientSecret }}
2022
gitlab-token: {{ .Values.secrets.gitlabToken }}
2123
s3-access-key-id: {{ .Values.secrets.s3AccessKeyId }}
2224
s3-access-key-secret: {{ .Values.secrets.s3AccessKeySecret }}

0 commit comments

Comments
 (0)