Chiming in a bit:
2) Disallow support for HTTP endpoints, or make it option that is on by default.
3) No, you do not need it. In fact, I’d advise against it. Maybe this is an optional thing, but not the default. *
4) Don’t think there are any issues with it. Depends what Object is. If you limit it to primitives and a few collection types, you should be fine.
* This could have made more sense if you had something hyper sensitive in the payload, and you seriously wanted the receivers of the JWT to be authenticated. Don’t think you do. 2 should help some.
On Jun 15, 2016, at 8:41 AM, Misagh Moayyed <mmoa...@unicon.net> wrote:Chiming in a bit:
2) Disallow support for HTTP endpoints, or make it option that is on by default.
3) No, you do not need it. In fact, I’d advise against it. Maybe this is an optional thing, but not the default. *
4) Don’t think there are any issues with it. Depends what Object is. If you limit it to primitives and a few collection types, you should be fine.
- (4) What about items with a type of Map<String,Object>? I’m thinking I probably should omit them because of issues deserializing them in the target JVM.On Jun 15, 2016, at 10:31 AM, Andrew Stuart <ast...@unicon.net> wrote:
The #1 reason I would still recommend map<String, Object> is that it handles JSON type serialization properly, which *vastly* decreases complexity over the landscape of possible soffit services. There are lots of nice libraries for deserializing JSON for a given language, and the implementation is language-specific, and developers should be able to expect that a number will be a number in that language, and that they only need to assert that (however their language would require they do so).If we only allow string values (e.g.), that inevitably leads to every consumer doing lots of string->number parsing (or, *shudder*, putting nested JSON in strings). I'd say that JSON is so popular because of its flexibility, and we ought to make sure that we work with that rather than limit it and cause headaches and workarounds for everyone.
--
You received this message because you are subscribed to the Google Groups "uPortal Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to uportal-dev...@apereo.org.
Visit this group at https://groups.google.com/a/apereo.org/group/uportal-dev/.
-- Benito J. Gonzalez Software Developer Unicon, Inc. Voice: 480.558.2360 Text: 209.777.2754 Email: bgon...@unicon.net GitHub: bjagg BitBucket: bjagg
On Jul 14, 2016, at 6:21 AM, Andrew Petro <andrew...@wisc.edu> wrote:Apologies for the delay in chiming in on this.> (1) Have I overlooked anything you can think of? ... I threw everything I could find into this model on the theory that someone might need it;I recommend a different lens. Is there anything in this data model that could be removed or deferred? YAGNI. Il semble que la perfection soit atteinte non quand il n'y a plus rien à ajouter, mais quand il n'y a plus rien à retrancher.I get the wanting to get it complete out of the gate, release it, run with it without having to cut another release or change it. I do. But I'd trade that away to gain a more iterative, evolutionary approach to growing the product. Add to the data model when a Soffit integration for real needs specific additional data elements to accomplish something for a real adopter in production. This is a way to stave off complexity and feature creep, to focus on the highest value features.
Towards that end, reviewing the Soffit Connector Data Model page:Can the portlet concepts go?
- Window states and portlet modes seem clunky. Can we do without them, or at least defer projecting forward this JSR-ism?
- Window IDs. Things get way simpler, we've found in MyUW, if we don't have these. Lead with not needing them and see if anything terrible happens. Multiple windowing of a single portlet-definition adds a lot of complexity, maybe without enough benefit for that complexity.
- It's got: init parameters, context attributes, container runtime options. Could that be slimmed down out of the gate?
- Session attributes seem weird. Soffit is remoting the portlet back end. And the session is a back-end thing. So can the session simply live in the back end and not be passed over the wire?
- Rather than leading with roles being part of the Soffit data model, suggest leading with *not* doing this and making back ends responsible for figuring out and applying roles. Back ends could do this in all sorts of ways. It might turn out that the portal needs to be figuring this out for the back end, but I don't think that architecture is a given.
- Differentiating Name and Title might have been a mistake. This is a chance to try collapse these to a single concept.
- What's a Namespace and how do we avoid needing to have it? :)
Should some of this be happening at the HTTP header layer?
On Nov 9, 2016, at 12:08 PM, Pascal Rigaux <Pascal...@univ-paris1.fr> wrote:But that was my next question:
If the initial HTML be mostly static, how do you handle soffit api requests?
On Nov 9, 2016, at 12:50 PM, Pascal Rigaux <Pascal...@univ-paris1.fr> wrote:Hum, maybe I misunderstood and all requests to Soffit client are proxied through uportal?
- standardize on OpenID Connect claims (http://openid.net/specs/openid-connect-core-1_0.html#StandardClaims) when possible
- standardize on verifying JWT signature using a "jwks_uri"
( https://github.com/auth0/node-jwks-rsa/tree/master/examples/express-demo https://bitbucket.org/b_c/jose4j/wiki/JWT%20Examples#markdown-header-using-an-https-jwks-endpoint http://openid.net/specs/openid-connect-core-1_0.html#RotateSigKeys )
- WIP : see if CAS with cas-server-support-oidc can generate JWTs that can be passed to an API
[*] Is encryption needed in case the JWT is sent back to the browser?