René's URL Explorer Experiment


Title: Add support for authentication and authorization by woop · Pull Request #554 · feast-dev/feast · GitHub

Open Graph Title: Add support for authentication and authorization by woop · Pull Request #554 · feast-dev/feast

X Title: Add support for authentication and authorization by woop · Pull Request #554 · feast-dev/feast

Description: What this PR does / why we need it: First implementation of auth for Feast (related to #504 minimal implementation). Adds authentication to Feast Core (with support for different implementations). Currently only supports Google Open ID through gRPC metadata. Adds authorization to Feast Core (with support for different implementations). Currently only supports Ory Keto. Adds authentication to Python SDK/CLI. Users can enable authentication client side and Feast will send their Google Open ID credentials as gRPC metadata to Core. Refactor the Python SDK/CLI SSL/TLS handling. Prevents unauthorized creation or modification of feature sets in projects that a user does not have membership in. Limitations Does not handle user or role management in authorization provider (creating projects, adding members, removing members, listing members). Which issue(s) this PR fixes: Related to #504, but doesn't close the card. This is a minimal implementation. Does this PR introduce a user-facing change?: None

Open Graph Description: What this PR does / why we need it: First implementation of auth for Feast (related to #504 minimal implementation). Adds authentication to Feast Core (with support for different implementations)....

X Description: What this PR does / why we need it: First implementation of auth for Feast (related to #504 minimal implementation). Adds authentication to Feast Core (with support for different implementations)....

Opengraph URL: https://github.com/feast-dev/feast/pull/554

X: @github

direct link

Domain: github.com

route-pattern/:user_id/:repository/pull/:id/files(.:format)
route-controllerpull_requests
route-actionfiles
fetch-noncev2:86271113-c54a-0836-53c4-83085faedb38
current-catalog-service-hashae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b
request-idCE6E:2ED767:353373B:474FFB1:697AF514
html-safe-noncef6adfc52a88bd8363a98e8a758a50ac978ba5a55517ea9dc9ae564c4086fa0ae
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJDRTZFOjJFRDc2NzozNTMzNzNCOjQ3NEZGQjE6Njk3QUY1MTQiLCJ2aXNpdG9yX2lkIjoiNjQ2NjI5NzMwODU3MTY5NDM1NiIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9
visitor-hmaccc317bb02a67d22fe14f060b10017acea6895c0648068684d6faaefb1b503cb3
hovercard-subject-tagpull_request:391377852
github-keyboard-shortcutsrepository,pull-request-list,pull-request-conversation,pull-request-files-changed,copilot
google-site-verificationApib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I
octolytics-urlhttps://collector.github.com/github/collect
analytics-location///pull_requests/show/files
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/feast-dev/feast/pull/554/files
twitter:imagehttps://avatars.githubusercontent.com/u/6728866?s=400&v=4
twitter:cardsummary_large_image
og:imagehttps://avatars.githubusercontent.com/u/6728866?s=400&v=4
og:image:altWhat this PR does / why we need it: First implementation of auth for Feast (related to #504 minimal implementation). Adds authentication to Feast Core (with support for different implementations)....
og:site_nameGitHub
og:typeobject
hostnamegithub.com
expected-hostnamegithub.com
None7ce8ed0a54c4730aeca4e6abacfc6490365fc42e25480b86883054df3f9181c8
turbo-cache-controlno-preview
diff-viewunified
go-importgithub.com/feast-dev/feast git https://github.com/feast-dev/feast.git
octolytics-dimension-user_id57027613
octolytics-dimension-user_loginfeast-dev
octolytics-dimension-repository_id161133770
octolytics-dimension-repository_nwofeast-dev/feast
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forkfalse
octolytics-dimension-repository_network_root_id161133770
octolytics-dimension-repository_network_root_nwofeast-dev/feast
turbo-body-classeslogged-out env-production page-responsive full-width
disable-turbotrue
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
released7bfc78137af9a4828305e52ab993fce981d7085
ui-targetcanary-2
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://github.com/feast-dev/feast/pull/554/files#start-of-content
https://github.com/
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Ffeast-dev%2Ffeast%2Fpull%2F554%2Ffiles
GitHub CopilotWrite better code with AIhttps://github.com/features/copilot
GitHub SparkBuild and deploy intelligent appshttps://github.com/features/spark
GitHub ModelsManage and compare promptshttps://github.com/features/models
MCP RegistryNewIntegrate external toolshttps://github.com/mcp
ActionsAutomate any workflowhttps://github.com/features/actions
CodespacesInstant dev environmentshttps://github.com/features/codespaces
IssuesPlan and track workhttps://github.com/features/issues
Code ReviewManage code changeshttps://github.com/features/code-review
GitHub Advanced SecurityFind and fix vulnerabilitieshttps://github.com/security/advanced-security
Code securitySecure your code as you buildhttps://github.com/security/advanced-security/code-security
Secret protectionStop leaks before they starthttps://github.com/security/advanced-security/secret-protection
Why GitHubhttps://github.com/why-github
Documentationhttps://docs.github.com
Bloghttps://github.blog
Changeloghttps://github.blog/changelog
Marketplacehttps://github.com/marketplace
View all featureshttps://github.com/features
Enterpriseshttps://github.com/enterprise
Small and medium teamshttps://github.com/team
Startupshttps://github.com/enterprise/startups
Nonprofitshttps://github.com/solutions/industry/nonprofits
App Modernizationhttps://github.com/solutions/use-case/app-modernization
DevSecOpshttps://github.com/solutions/use-case/devsecops
DevOpshttps://github.com/solutions/use-case/devops
CI/CDhttps://github.com/solutions/use-case/ci-cd
View all use caseshttps://github.com/solutions/use-case
Healthcarehttps://github.com/solutions/industry/healthcare
Financial serviceshttps://github.com/solutions/industry/financial-services
Manufacturinghttps://github.com/solutions/industry/manufacturing
Governmenthttps://github.com/solutions/industry/government
View all industrieshttps://github.com/solutions/industry
View all solutionshttps://github.com/solutions
AIhttps://github.com/resources/articles?topic=ai
Software Developmenthttps://github.com/resources/articles?topic=software-development
DevOpshttps://github.com/resources/articles?topic=devops
Securityhttps://github.com/resources/articles?topic=security
View all topicshttps://github.com/resources/articles
Customer storieshttps://github.com/customer-stories
Events & webinarshttps://github.com/resources/events
Ebooks & reportshttps://github.com/resources/whitepapers
Business insightshttps://github.com/solutions/executive-insights
GitHub Skillshttps://skills.github.com
Documentationhttps://docs.github.com
Customer supporthttps://support.github.com
Community forumhttps://github.com/orgs/community/discussions
Trust centerhttps://github.com/trust-center
Partnershttps://github.com/partners
GitHub SponsorsFund open source developershttps://github.com/sponsors
Security Labhttps://securitylab.github.com
Maintainer Communityhttps://maintainers.github.com
Acceleratorhttps://github.com/accelerator
Archive Programhttps://archiveprogram.github.com
Topicshttps://github.com/topics
Trendinghttps://github.com/trending
Collectionshttps://github.com/collections
Enterprise platformAI-powered developer platformhttps://github.com/enterprise
GitHub Advanced SecurityEnterprise-grade security featureshttps://github.com/security/advanced-security
Copilot for BusinessEnterprise-grade AI featureshttps://github.com/features/copilot/copilot-business
Premium SupportEnterprise-grade 24/7 supporthttps://github.com/premium-support
Pricinghttps://github.com/pricing
Search syntax tipshttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
documentationhttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Ffeast-dev%2Ffeast%2Fpull%2F554%2Ffiles
Sign up https://github.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fpull_requests%2Fshow%2Ffiles&source=header-repo&source_repo=feast-dev%2Ffeast
Reloadhttps://github.com/feast-dev/feast/pull/554/files
Reloadhttps://github.com/feast-dev/feast/pull/554/files
Reloadhttps://github.com/feast-dev/feast/pull/554/files
feast-dev https://github.com/feast-dev
feasthttps://github.com/feast-dev/feast
Notifications https://github.com/login?return_to=%2Ffeast-dev%2Ffeast
Fork 1.2k https://github.com/login?return_to=%2Ffeast-dev%2Ffeast
Star 6.7k https://github.com/login?return_to=%2Ffeast-dev%2Ffeast
Code https://github.com/feast-dev/feast
Issues 183 https://github.com/feast-dev/feast/issues
Pull requests 68 https://github.com/feast-dev/feast/pulls
Discussions https://github.com/feast-dev/feast/discussions
Actions https://github.com/feast-dev/feast/actions
Security 0 https://github.com/feast-dev/feast/security
Insights https://github.com/feast-dev/feast/pulse
Code https://github.com/feast-dev/feast
Issues https://github.com/feast-dev/feast/issues
Pull requests https://github.com/feast-dev/feast/pulls
Discussions https://github.com/feast-dev/feast/discussions
Actions https://github.com/feast-dev/feast/actions
Security https://github.com/feast-dev/feast/security
Insights https://github.com/feast-dev/feast/pulse
Sign up for GitHub https://github.com/signup?return_to=%2Ffeast-dev%2Ffeast%2Fissues%2Fnew%2Fchoose
terms of servicehttps://docs.github.com/terms
privacy statementhttps://docs.github.com/privacy
Sign inhttps://github.com/login?return_to=%2Ffeast-dev%2Ffeast%2Fissues%2Fnew%2Fchoose
woophttps://github.com/woop
feast-dev:masterhttps://github.com/feast-dev/feast/tree/master
woop:authhttps://github.com/woop/feast/tree/auth
Conversation 18 https://github.com/feast-dev/feast/pull/554
Commits 10 https://github.com/feast-dev/feast/pull/554/commits
Checks 0 https://github.com/feast-dev/feast/pull/554/checks
Files changed https://github.com/feast-dev/feast/pull/554/files
Please reload this pagehttps://github.com/feast-dev/feast/pull/554/files
Add support for authentication and authorization https://github.com/feast-dev/feast/pull/554/files#top
Show all changes 10 commits https://github.com/feast-dev/feast/pull/554/files
05c4af9 Add project service tests Mar 20, 2020 https://github.com/feast-dev/feast/pull/554/commits/05c4af9cc8179ea92586dd342bdd0f966fdb5fc7
5991fd3 Add authentication and authorization woop Mar 20, 2020 https://github.com/feast-dev/feast/pull/554/commits/5991fd3cefcec64641a1ea2f5363a245e36814c2
04b5979 Add comments and remove unnecessary config woop Mar 20, 2020 https://github.com/feast-dev/feast/pull/554/commits/04b59799b7afa162b8c33ce8c6b482b96c58c1a8
c61cab1 Fix broken auth tests and allow for static token to be set woop Mar 21, 2020 https://github.com/feast-dev/feast/pull/554/commits/c61cab160dd339b800dc3f9975e5811d48a97199
9c7ff64 Implement static token configuration and fix broken tests woop Mar 23, 2020 https://github.com/feast-dev/feast/pull/554/commits/9c7ff64b04c9b26255fca598a0dc80242a0c9973
dc727bc Fix e2e tests woop Mar 23, 2020 https://github.com/feast-dev/feast/pull/554/commits/dc727bcfdc4af2363dfaf9cbb0b5a9abac640dcc
4d40e9a Fix e2e test indent woop Mar 23, 2020 https://github.com/feast-dev/feast/pull/554/commits/4d40e9aa183831e62a43af3ca46e258e5ba49c25
8900350 Fix e2e test indent woop Mar 23, 2020 https://github.com/feast-dev/feast/pull/554/commits/89003500a112cac3cd3b48a307ca9420aa42f613
6254f79 Fix e2e test indent woop Mar 23, 2020 https://github.com/feast-dev/feast/pull/554/commits/6254f79a8df6017944351b92c97cb04f41eff047
4997694 Update configuration comments and add disable option to enable auth f… woop Mar 29, 2020 https://github.com/feast-dev/feast/pull/554/commits/49976945a1d208b2b0bc084034ccd1ba0231282e
Clear filters https://github.com/feast-dev/feast/pull/554/files
Please reload this pagehttps://github.com/feast-dev/feast/pull/554/files
Please reload this pagehttps://github.com/feast-dev/feast/pull/554/files
.gitignore https://github.com/feast-dev/feast/pull/554/files#diff-bc37d034bad564583790a46f19d807abfe519c5671395fd494d8cce506c42947
pom.xml https://github.com/feast-dev/feast/pull/554/files#diff-8d04401f1cc51365fe3e32f019cd720135ba920a1a7da7f19e9c9208478701fc
GoogleOpenIDAuthenticationProvider.java https://github.com/feast-dev/feast/pull/554/files#diff-241661c905a1726cd0bd3f8ae2e4bfb525e731adc564b5e602849e0c45cc3c8c
AuthorizationProvider.java https://github.com/feast-dev/feast/pull/554/files#diff-173d6d873f09eb8711772d39a98b75d720a120f2706feae8f4c99bcd604f077b
KetoAuthorizationProvider.java https://github.com/feast-dev/feast/pull/554/files#diff-32d30738a8ce5acc7372ae608e00497fbd5e998ac3517e6f6d8883a3ddc87bc9
CoreGRpcServerBuilderConfig.java https://github.com/feast-dev/feast/pull/554/files#diff-91e179a4803ea3a7f1a5ef5fbe97ce1a0942746c55cfabad199dff71b78a33fa
FeastProperties.java https://github.com/feast-dev/feast/pull/554/files#diff-674a079771ed44b6277492ff09f03b398a7741e3407b282d8babcddc4e3871d7
SecurityConfig.java https://github.com/feast-dev/feast/pull/554/files#diff-5442937cbbb3f1966a3049b7c05bfd8e050f272a5e826792d7d07c5f49e1025a
CoreServiceImpl.java https://github.com/feast-dev/feast/pull/554/files#diff-6e976bad6796b538be1a2442c0358640b5177a7ef390376bc2d44d8c0edffe5d
ProjectService.java https://github.com/feast-dev/feast/pull/554/files#diff-12f1ebdf4fde087ebb0e29de2202a6860908d9cad518b879bea4e7b4aef4f60c
application.yml https://github.com/feast-dev/feast/pull/554/files#diff-cb96a7758543958bd30e0c4d1ceec43619c0a4fbd7da783119275ea2a4cd797b
CoreServiceAuthTest.java https://github.com/feast-dev/feast/pull/554/files#diff-b57b9bc4c4c7cccc93d3d7226e9b318adee13f6c597ac74ba7ec79c93f866f93
ProjectServiceTest.java https://github.com/feast-dev/feast/pull/554/files#diff-531d66d2f951bd624476eaa19f3c05731827dbb1c00e73aa2869d3d774d2312f
test-end-to-end-batch.sh https://github.com/feast-dev/feast/pull/554/files#diff-0d9c3baeec60e68ac632b6a14b287e704dd8621b136c53ddee4dbcc7526bb863
test-end-to-end.sh https://github.com/feast-dev/feast/pull/554/files#diff-96753c291ff35a31678e391948d981ccba2b46f20eaa3e976a9390599b6f65e8
client.py https://github.com/feast-dev/feast/pull/554/files#diff-d952d6ada8564fd279b430907894ccfda698bb52eed90846d3aa04c4c9bc4379
config.py https://github.com/feast-dev/feast/pull/554/files#diff-2de30c3264f96278e49d3c18e94fd5c05f180693d6b73b5dd6a4e9d23b29e83b
constants.py https://github.com/feast-dev/feast/pull/554/files#diff-d2ece60a745d0f95c6bf2757d8ab5a351fbe9e96b3e78a63802c39f1ef31d9ac
auth.py https://github.com/feast-dev/feast/pull/554/files#diff-f13d1828c62710dfe2665d3e896993811d7581636dbccaeb737e35f01ad1be42
grpc.py https://github.com/feast-dev/feast/pull/554/files#diff-37b9ffe005ae1a32d6060c624dc8714411bc84653e16a27587665be307592699
feast_core_server.py https://github.com/feast-dev/feast/pull/554/files#diff-6e1f8f386939497b864ceccbb0f1345218204d696133a9bacdf6a67a17f01b79
test_client.py https://github.com/feast-dev/feast/pull/554/files#diff-dd9aaf4113915b368515057d8c42402d3ba8ed6614985497d58887982304e3ca
.gitignorehttps://github.com/feast-dev/feast/pull/554/files#diff-bc37d034bad564583790a46f19d807abfe519c5671395fd494d8cce506c42947
View file https://github.com/woop/feast/blob/49976945a1d208b2b0bc084034ccd1ba0231282e/.gitignore
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/feast-dev/feast/pull/554/{{ revealButtonHref }}
https://github.com/feast-dev/feast/pull/554/files#diff-bc37d034bad564583790a46f19d807abfe519c5671395fd494d8cce506c42947
Please reload this pagehttps://github.com/feast-dev/feast/pull/554/files
https://github.com
Termshttps://docs.github.com/site-policy/github-terms/github-terms-of-service
Privacyhttps://docs.github.com/site-policy/privacy-policies/github-privacy-statement
Securityhttps://github.com/security
Statushttps://www.githubstatus.com/
Communityhttps://github.community/
Docshttps://docs.github.com/
Contacthttps://support.github.com?tags=dotcom-footer

Viewport: width=device-width


URLs of crawlers that visited me.