Comments (5)
Thanks again for the feedback! That gives me some food for thought...
from wave.
Hey @aranvir. q.user
assumes the presence of an OIDC authenticated user (maybe our docs need improvement). You can see how it's scoped here. The example you linked uses a custom JWT auth.
from wave.
I see, thank you for the clarification. Then I implemented this JWT approach with the wrong assumption. But I also guess it's then not even possible to use user
state reasonably without OIDC, right? Or rather - I assume that user state is then also shared across all users like app state.
Does it then even make sense to keep the JWT example, if it can't work?
from wave.
But I also guess it's then not even possible to use user state reasonably without OIDC, right?
You would need to implement your own version of q.user
: A global dict keyed by JWT token usernames/subjects whatever. The implementation would be very similar to the one I linked above. Another option would add it natively to Wave somehow.
I assume that user state is then also shared across all users like app state.
Correct. Non-authenticated users have auth.subject set to anon
. Since all users have the same key so it basically equals to q.app in that case.
Does it then even make sense to keep the JWT example, if it can't work?
I would say it does. It only can't work with q.user
. The point of the example is to show that JWT is possible (login screen) if you put in the effort. In real-world apps, user-state is stored in an external DB anyway, not in-memory.
from wave.
Also, since this is a very niche feature (most folks go with OIDC), it won't be prioritized, but I am fine with accepting a contribution as long as it doesn't make the code much more complex.
Feel free to ping me in case of any more questions! Covnerting this into a GH discussion.
from wave.
Related Issues (20)
- wavedb not included in build releases (that I can see) HOT 2
- Give all widgets the name parameter HOT 3
- Fix all HIGH security vulnerabilities in Wave SDK HOT 4
- Line plot and step plot draw wrong lines in output when changed via data[-1]
- Support data buffers in tables (same as plots)
- wave.Error: unknown format: 17 HOT 1
- Regression from earlier version, aria-colindex missing from table HOT 2
- Regression from earlier version, inline Buttons are misplaced HOT 3
- Set the Value in a Chatbot Card
- Triggers interrupting Chat Value
- Allow turning off fuzzy matching for dropdown search
- Allow Wildcard for H2O_WAVE_ALLOWED_ORIGINS
- Render newlines and multiple spaces in tables
- ui.table / ui.progress_table_cell_type has floating point rounding issues
- Possible bug when updating existing components
- Make app timeouts configurable HOT 1
- Select All on 2nd filter in table not showing checked checkboxes
- Add Build-In App Authentication
- ui.table with markdown doesn't render text html.escape() HOT 1
- timerpicker can't find second HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from wave.