[keycloak-dev] relationship between application and realm

Bill Burke bburke at redhat.com
Fri Sep 13 09:41:56 EDT 2013


One more thing...

With a one-app model, I really wonder if keycloak is even useful for 
JBoss applications.  In this case, I can see wanting to just do social 
integration myself using one of the plethora of libraries out there so I 
could have a more integrated and branded experience.  For non-social, 
I'd just use the existing JBoss security infrastructure.

Keycloak as an SSO solution is the more compelling reason to choose it, IMO.

On 9/13/2013 9:23 AM, Bill Burke wrote:
> TLDR
>
> THe more we discuss this, the more strongly I feel your approach to
> Application and Realm is just not the way to go.  I don't know how to
> resolve our differences at the moment, but please read further...
>
> On 9/12/2013 9:23 AM, Stian Thorgersen wrote:
>> I strongly believe that applications should be under a separate top-level menu.
>>
>
> I think you are creating more work for us and making an inconsistent UI
> for the user.
>
>> - An application is configured to use a realm, it's not a child of the realm
>
> An application deployment is configured to interact with a specific
> realm.  It needs the realm name, public key, and credentials it needs to
> interact with the realm.  It is not separate from the realm.  An
> application deployment is not going to be serviced by multiple realms.
>
> JBoss developers currently create realms when they secure their apps.
>
>> - A developer may know what application he's looking for, but not know what realm it belongs to
>>
>
> Why would a developer be "looking" for an application or for that matter
> "looking" for a realm?  What you state is just not how developers will
> interact with Keycloak.
>
> JBoss, Tomcat, and Jetty developers create a realm when they secure
> their apps.
>
>> I also believe that a first time user should be able to create an application without having to create a realm first. There are several options for this:
>>
>
> And I completely disagree.  I just don't understand your problem with a
> realm as its just one extra field:  a name.  Conversley, if you start
> with an application and have to do all the extra import stuff Gabriel
> has in his current flow it is *A LOT MORE WORK* and *A LOT MORE CONFUSING*.
>
>
>> - Create a default realm for a user when the first application is created
>
> Again, develoeprs aren't going to be creating "applications" first.
> They will already have an application they want to secure.  They will
> create a realm, set up social providers, add an application with a URL,
> etc...
>
> This is basically how developers work *ALREADY* with JBoss (and Tomcat
> and Jetty).  They create a security domain, then configure their
> application to use this security domain.
>
>> - Embed the creating realm form into the creating application form / this should require very little additional work on the UI level if Angular services and partials are done correctly
>>
>> Having applications as a separate entity is also vital if for example an MBaaS solution should consume Keycloak and reuse parts of the admin console. In this case an application doesn't only have a security realm, and security configuration, it also has data configuration, push notification configuration, etc.
>>
>
> For MBaaS, you are targeting a use case and designing a UI based on the
> needs of a handful of consumers, when the UI should be tailored to the
> needs of the most common use case.
>
> As it is, you give no details why having an application as a separate
> entity is so vital for MBaaS.  The MBaaS will be using Keycloak REST
> services in the background and have their own integrated UI for
> security.  This idea that we're going to reuse the Keycloak UI is just
> poppycock.  Even if they wanted to, it would not result in a very
> user-friendly UI.  Also, you're not going to be using the Keycloak UI to
> create Application security templates.  Why would you when a JSON file
> is 100 times simpler and quicker?
>
> I just can't agree that your approach is appropriate.  Your approach
> immediately falls apart when dealing with SSO, which will be a very
> common deployment model for Keycloak given how much feedback I've
> already gotten for the Resteasy OAuth solution.  Not only that,  but
> having a Realm as the central concept in keycloak doesn't even in the
> slightest make things more complicated and is a concept that developers
> are already deeply familiar with.
>

-- 
Bill Burke
JBoss, a division of Red Hat
http://bill.burkecentral.com


More information about the keycloak-dev mailing list