Commit Graph

45532 Commits

Author SHA1 Message Date
Jamie Klassen 8d3e9c7277 clean up tests
and remove tokenSignedAlg option from pinniped, since it's not actually
configurable by end users. This means that all the tests use ID tokens signed
with a real JWK.

Signed-off-by: Jamie Klassen <jklassen@vmware.com>
2023-10-12 10:12:55 -04:00
Ruben Vallejo 70a3c2631f resolve rebase type/compilation errors
Signed-off-by: Ruben Vallejo <rvallejo@vmware.com>
2023-10-12 10:12:55 -04:00
Ruben Vallejo 5ee7c789ad refactor provider unit tests
Signed-off-by: Ruben Vallejo <rvallejo@vmware.com>
2023-10-12 10:12:55 -04:00
Ruben Vallejo f5be2ec692 Add rfc token exchange logic to #handler success
Signed-off-by: Ruben Vallejo <rvallejo@vmware.com>
2023-10-12 10:12:55 -04:00
Ruben Vallejo eb1dac4d84 Change handler to return scope returned by the tokenset
Signed-off-by: Ruben Vallejo <rvallejo@vmware.com>
2023-10-12 10:12:55 -04:00
Ruben Vallejo 448ff7b10b add offline_access scope to default scope list in #start
Signed-off-by: Ruben Vallejo <rvallejo@vmware.com>
2023-10-12 10:12:55 -04:00
Ruben Vallejo 44483b9a0a refactor and add #refresh to pinnipedAuth provider
Signed-off-by: Ruben Vallejo <rvallejo@vmware.com>
2023-10-12 10:12:55 -04:00
Ruben Vallejo 9fedd45be6 introduce audience parameter into start method and pass it into oauth state, fix integration tests
Signed-off-by: Ruben Vallejo <rvallejo@vmware.com>
2023-10-12 10:12:55 -04:00
Ruben Vallejo 07dcd84379 Add redirect and error methods to the handlers strategy along with unit tests
Signed-off-by: Ruben Vallejo <rvallejo@vmware.com>
2023-10-12 10:12:55 -04:00
Ruben Vallejo ae059825ce Provider requests scopes
Signed-off-by: Ruben Vallejo <rvallejo@vmware.com>
2023-10-12 10:12:55 -04:00
Ruben Vallejo 7dc7a38f3f authorization code exchange for a valid access_token
Signed-off-by: Ruben Vallejo <rvallejo@vmware.com>
2023-10-12 10:12:55 -04:00
Jamie Klassen b6f103de19 working integration test
Some thoughts at this point:
* it would be nice to gather all the fakePinnipedSupervisor setup together
  in the beforeEach rather than spreading it throughout the test body
* we need a real JWK/JWKS endpoint for token signing

Signed-off-by: Jamie Klassen <jklassen@vmware.com>
Co-authored-by: Ruben Vallejo <rvallejo@vmware.com>
2023-10-12 10:12:55 -04:00
Jamie Klassen c1c062ad69 refine requirements for start method
Now the unit tests for the start method should render the '#start' describe
in index.test.ts redundant.

Signed-off-by: Jamie Klassen <jklassen@vmware.com>
Co-authored-by: Ruben Vallejo <rvallejo@vmware.com>
2023-10-12 10:12:54 -04:00
Jamie Klassen 7c26171d2a refactor: minimal passing implementation
Removed all the code that wasn't impacting a failing test, and removed the
"ID token" test -- we'll start with access tokens since they are more important
for our token-exchange use case.

Signed-off-by: Jamie Klassen <jklassen@vmware.com>
Co-authored-by: Ruben Vallejo <rvallejo@vmware.com>
2023-10-12 10:12:54 -04:00
Ruben Vallejo 295dae8ab5 passing pinniped authprovider #handler responds with Id token test
Signed-off-by: Ruben Vallejo <rvallejo@vmware.com>
2023-10-12 10:12:54 -04:00
Ruben Vallejo 07df9ce153 implement consent redirect in new PinnipedAuthProvider
Signed-off-by: Ruben Vallejo <rvallejo@vmware.com>
2023-10-12 10:12:54 -04:00
Jamie Klassen 7b4b8a0034 wip: auth-backed performs rfc 8693 token exchange
Just driving with the test at this point, hitting some trouble with
express-session/cookies but I have an idea for an approach when I return to it:

Hopefully it will be enough to enable all the right middlewares in our
express app under test and then use `request.agent` from supertest as in

https://github.com/ladjs/supertest/blob/25920e7a1d246b590123417bfce33221db88e947/README.md?plain=1#L244-L256

which can make an initial request to the `/start` endpoint and persist cookies
to the next request (the interesting one under test) to `/handler/frame`.

Signed-off-by: Jamie Klassen <jklassen@vmware.com>
2023-10-12 10:12:54 -04:00
Jamie Klassen 50223e7744 WIP: conditionally skip user profile
OIDC auth provider returns an empty user profile when the associated issuer has
no userinfo_endpoint. In theory this would enable access-delegation-only use
cases, but I haven't thought through all the consequences.

Signed-off-by: Jamie Klassen <jklassen@vmware.com>
2023-10-12 10:12:54 -04:00
Jamie Klassen d4cdf46e49 extract pinniped auth provider
a modified copy of the oidc auth provider, with a slight change in config
schema. A single high-level integration test checks this.

Signed-off-by: Jamie Klassen <jklassen@vmware.com>
2023-10-12 10:12:54 -04:00
Fredrik Adelöw 4468f80666 Merge pull request #20568 from backstage/freben/ghpage
Request slightly smaller pages from GitHub
2023-10-12 16:00:10 +02:00
Philipp Hugenroth f29a5d7ce8 Merge pull request #20019 from backstage/philipph/techdocs-di
Migrate TechDocs to new Frontend System
2023-10-12 15:55:02 +02:00
Djam 002c9562a6 Merge pull request #20394 from fedy97/hotfix/max-length-search-query
fix: max term length prevents backend to crash
2023-10-12 15:07:52 +02:00
Fredrik Adelöw 4f16e60e6d Request slightly smaller pages from GitHub
Signed-off-by: Fredrik Adelöw <freben@gmail.com>
2023-10-12 15:00:06 +02:00
Fredrik Adelöw 8829a84b05 Merge pull request #20547 from Pike/dev-utils-devdeps
Make dev dependencies just devDependencies in dev-utils
2023-10-12 14:32:17 +02:00
backstage-goalie[bot] 3bfb2bf5da Merge pull request #20563 from backstage/renovate/sass-1.x-lockfile
fix(deps): update dependency sass to v1.69.3
2023-10-12 10:40:30 +00:00
Philipp Hugenroth cb0da26467 Update .changeset/modern-owls-mate.md
Co-authored-by: Patrik Oldsberg <poldsberg@gmail.com>
Signed-off-by: Philipp Hugenroth <tudi2d@users.noreply.github.com>
2023-10-12 12:09:43 +02:00
Fredrik Adelöw 41381ddf1b Update .changeset/red-baboons-warn.md
Co-authored-by: Philipp Hugenroth <tudi2d@users.noreply.github.com>
Signed-off-by: Fredrik Adelöw <freben@gmail.com>
2023-10-12 12:04:39 +02:00
renovate[bot] d8841fcef1 fix(deps): update dependency sass to v1.69.3
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-12 09:17:10 +00:00
backstage-goalie[bot] 546754dc6a Merge pull request #20560 from backstage/renovate/jose-4.x-lockfile
fix(deps): update dependency jose to v4.15.3
2023-10-12 09:14:04 +00:00
renovate[bot] 9cef849137 fix(deps): update dependency jose to v4.15.3
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-12 08:35:31 +00:00
backstage-goalie[bot] 67fd08dc86 Merge pull request #20557 from backstage/renovate/testing-library-jest-dom-6.x-lockfile
chore(deps): update dependency @testing-library/jest-dom to v6.1.4
2023-10-12 08:28:10 +00:00
Fredrik Adelöw 9e96f70d4a Merge pull request #20556 from backstage/freben/hostdiscovery
stop using SingleHostDiscovery
2023-10-12 10:03:12 +02:00
Camila Belo 2ac2f4a2fd Merge pull request #20487 from backstage/camilaibs/create-activelly-maintaned-plugins-script
Create build plugins report script
2023-10-12 09:47:44 +02:00
renovate[bot] 1ad75a7df1 chore(deps): update dependency @testing-library/jest-dom to v6.1.4
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-12 07:47:30 +00:00
Fredrik Adelöw 581578ddab Merge pull request #20496 from backstage/renovate/xterm-monorepo
fix(deps): update xterm monorepo
2023-10-12 09:39:39 +02:00
Patrik Oldsberg 87509c8d8e Merge pull request #20519 from gabrielhuber/master
core-app-api: Fixed bug in AppRouter to determine the correct signOutTargetUrl if app.baseUrl contains a basePath
2023-10-12 09:34:49 +02:00
Fredrik Adelöw ba9c46bdd7 stop using SingleHostDiscovery
Signed-off-by: Fredrik Adelöw <freben@gmail.com>
2023-10-12 09:22:23 +02:00
Camila Belo 85a51734ec refactor: optimize plugins report script
Signed-off-by: Camila Belo <camilaibs@gmail.com>
2023-10-12 09:15:14 +02:00
Camila Belo d749e50595 fix: core maintainers commit check
Signed-off-by: Camila Belo <camilaibs@gmail.com>
2023-10-12 08:53:10 +02:00
Patrik Oldsberg 409e24c2ea scripts/build-plugins-report: exclude changes to tests
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2023-10-12 08:53:10 +02:00
Patrik Oldsberg ef26bd727a scripts/build-plugins-report: don't open report at the end
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2023-10-12 08:53:10 +02:00
Camila Belo 565dff3dac refactor: apply review suggestions
Signed-off-by: Camila Belo <camilaibs@gmail.com>
2023-10-12 08:53:10 +02:00
Camila Belo 882c5d5a5f chore: create build plugins report script
Signed-off-by: Camila Belo <camilaibs@gmail.com>
2023-10-12 08:53:10 +02:00
Fredrik Adelöw 431de8acbc Merge pull request #20539 from backstage/freben/wait
update the wait action test a bit
2023-10-11 23:14:31 +02:00
John Philip 310f6ea5e1 Merge pull request #20229 from Ericsson/plantuml-support-enhancement
[TechDocs] Enhance PlantUML support in the techdocs container to include external puml or pu files
2023-10-11 15:08:14 -04:00
Fredrik Adelöw 4eb341ea13 bit less defensive
Signed-off-by: Fredrik Adelöw <freben@gmail.com>
2023-10-11 20:44:32 +02:00
Patrik Oldsberg 1fb652ffb5 Merge pull request #20535 from backstage/mob/external-routes
frontend-*-api: add support for route bindings
2023-10-11 19:59:50 +02:00
Axel Hecht 080d1beb2a Make dev dependencies just devDependencies
Signed-off-by: Axel Hecht <axel@pike.org>
2023-10-11 19:42:39 +02:00
Jamie Klassen 5a52a8eb48 Merge pull request #20541 from szubster/k8s-empty-labelselector
Allow passing undefined labelSelector to KubernetesFetcher
2023-10-11 11:33:28 -04:00
backstage-goalie[bot] b1bf05e5cf Merge pull request #20537 from backstage/renovate/openid-client-5.x-lockfile
fix(deps): update dependency openid-client to v5.6.1
2023-10-11 15:08:06 +00:00