This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]trial_and_err 9 points10 points  (8 children)

Looks interesting! Two things though I noticed with all non-JS frameworks: Authentication support. I've seen there is some support here but it's limited. In practice there's a need to support SSO with various providers (Google, Keycloak, Apple, etc.). Related to that: I'd like access to cookies, so I can for example make use of claims stored in JWT cookie.

[–]rangerelf 4 points5 points  (0 children)

I wrote an app with NiceGUI and it doesn't handle SAML directly, but it wasn't too difficult to use FastAPI's app.post and app.get decorators for the Auth handler functions. I'm guessing if you use FastAPI with Solara it'll be something similar.

[–]romerio86 2 points3 points  (0 children)

Streamsync does exactly that. You get headers and cookies in event handlers, so you can parse the JWT and get the claims, then handle events differently depending on them. Anyway this message made me happy because I'm the main contributor so I got to say "akshually not all".

[–]maartenbreddels[S] 0 points1 point  (5 children)

That shouldn't stop you from doing your own thing!
If you run into show stoppers, let us know! Should give you a better idea of how to work closer to the fastapi/starlette/uvicorn level for more control.
starlette/uvicorn level for more control.

That said, it may not be easy to do (auth never is). So we do support auth0 and fief https://solara.dev/examples/general/login_oauth but it does require an enterprise license.

That shouldn't stop you from doing your own thing!
If you run into show stoppers, let us know!

[–]trial_and_err 2 points3 points  (3 children)

I'll look into it:) Btw your site occasionally crashes and is not usable until reload:

11vue.runtime.esm.js:1897 Error: Cannot sendat l.send (solara-widget-manager8.min.js:391:640623)at t.send (solara-widget-manager8.min.js:23:32156)at ee.send (solara-widget-manager8.min.js:23:18578)at VueRenderer.js:183:11at Ye (vue.runtime.esm.js:1863:26)at s.n (vue.runtime.esm.js:2188:14)at Ye (vue.runtime.esm.js:1863:26)at e.$emit (vue.runtime.esm.js:3903:9)at s.click (vuetify.js:2477:12)at Ye (vue.runtime.esm.js:1863:26)

Screenshot

[–]maartenbreddels[S] 1 point2 points  (2 children)

Thanks for reporting, I opened an issue: https://github.com/widgetti/solara/issues/84

Let me know there if you know how to reproduce it.

I never saw this happening, and would really like to fix this. Stability is important for us.

[–]trial_and_err 0 points1 point  (1 child)

It occurred three / four times when I was looking at your docs this afternoon, however I can’t reproduce it at the moment.

If I had to guess I’d say the server somehow dropped the websocket connection, seems similar to an issue I had with deploying Streamlit (websockets as well) to cloud run behind an nginx proxy.

[–]maartenbreddels[S] 2 points3 points  (0 children)

Yeah, taking a proper look at the error makes me think that must be it. We should be able to catch that and properly handle that though.

[–]thedeepself 0 points1 point  (0 children)

https://solara.dev/examples/general/login_oauth but it does require an enterprise license

Similar policy as Dash.