I wonder there might be some more browser javascript properties,
which
might help to detect client type. For example screen.width (with low
values, there is quite big chance that you are using mobile device).
Also it might be useful to detect if device support touch screen or not
(not sure if there is some reliable way though). If we go this way, it
might be also helpful to cache the detected client type into cookie, so
detection doesn't need to be done in each request.
Marek
) which is pretty accurate.
When I worked on it (for a Grails plugin) it was using WURFL
(
) which is a Device Description
Repository, but I believe they have change their licensing model, so not
sure we can use it.
On 19.9.2014 16:27, Stian Thorgersen wrote:
> ----- Original Message -----
>> From: "Bill Burke" <bburke(a)redhat.com>
>> To: keycloak-dev(a)lists.jboss.org
>> Sent: Friday, 19 September, 2014 3:19:13 PM
>> Subject: Re: [keycloak-dev] [aerogear-dev] Keycloak Ionic / Cordova theme
>>
>> Browsers set the User-Agent header. Wouldn't it be better to pick the
>> theme based on the user-agent header? I don't remember if browsers also
>> automatically push locale info.
> User-Agent header is useful, but I think we may something in addition, for example
when form is displayed embedded instead of full page redirect. Not 100% sure user-agent is
always reliable either.
>
> Browsers set's Accept-Language header, but apparently it's not always
reliable so it's only recommended to use it as a starting point. I've got a
proposal for internationalization support here:
https://issues.jboss.org/browse/KEYCLOAK-301
>
>> On 9/19/2014 8:53 AM, Stian Thorgersen wrote:
>>> Another thing we should consider is embedding of the login form. Instead of
>>> doing a full-page redirect we could allow embedding using a modal and/or
>>> iframe. In that situation you'd also want it to look slightly different
>>> than the full-page version.
>>>
>>> ----- Original Message -----
>>>> From: "Lukáš Fryč" <lukas(a)fryc.eu>
>>>> To: "Stian Thorgersen" <stian(a)redhat.com>
>>>> Cc: "AeroGear Developer Mailing List"
<aerogear-dev(a)lists.jboss.org>,
>>>> keycloak-dev(a)lists.jboss.org
>>>> Sent: Friday, 19 September, 2014 2:49:43 PM
>>>> Subject: Re: [keycloak-dev] [aerogear-dev] Keycloak Ionic / Cordova
theme
>>>>
>>>> I completely agree that the SSO should have same look for all
applications
>>>> using one realm.
>>>>
>>>>
>>>> Yes, a customization can be partially achieved just with CSS tweaks, but
>>>> it
>>>> doesn't have to meet all requirements and further per-platform tweaks
may
>>>> be necessary.
>>>>
>>>> In the Ionic demo above I was to meet 70% cases by using built-in CSS
>>>> classes. The rest had to be hard-coded. We can either extend CSS classes
>>>> coverage or allow higher customization with e.g. theming per variants.
>>>>
>>>> This feature would make "theming per-platform" easier, I could
achieve
>>>> that
>>>> with pure CSS/HTML tweaks and media-queries anyway.
>>>>
>>>> On Fri, Sep 19, 2014 at 1:40 PM, Stian Thorgersen
<stian(a)redhat.com>
>>>> wrote:
>>>>
>>>>> ----- Original Message -----
>>>>>> From: "Lukáš Fryč" <lukas.fryc(a)gmail.com>
>>>>>> To: "Stian Thorgersen" <stian(a)redhat.com>
>>>>>> Cc: "AeroGear Developer Mailing List"
<aerogear-dev(a)lists.jboss.org>,
>>>>> keycloak-dev(a)lists.jboss.org
>>>>>> Sent: Friday, 19 September, 2014 1:30:21 PM
>>>>>> Subject: Re: [aerogear-dev] [keycloak-dev] Keycloak Ionic /
Cordova
>>>>> theme
>>>>>> That would be awesome,
>>>>>>
>>>>>> do I read correctly that it is not possible at the moment? Should
I
>>>>> create a
>>>>>> feature request?
>>>>> Currently we can only configure the theme on a per-realm basis. With
the
>>>>> exception of css media-types there's not currently any way to
modify the
>>>>> l&f based on client (or client type).
>>>>>
>>>>> An alternative, which may make more sense, is to add multiple
variants of
>>>>> a theme. So for example you could have a theme that has web,
android,
>>>>> ios,
>>>>> etc variants. Then you have some way of specifying for the client
what
>>>>> variant it is. The reason this may make more sense is so that the
SSO
>>>>> login
>>>>> screen looks the same whichever application you come from.
>>>>>
>>>>> For example Acme Inc may have two applications (both with web, ios
and
>>>>> android variants):
>>>>>
>>>>> * calendar
>>>>> * mail
>>>>>
>>>>> You want the login screen to be adapted to the variant of the apps.
So
>>>>> the
>>>>> login screens can look different if you use a browser or if you use
a
>>>>> mobile. What you don't want is the login screens to look
different for
>>>>> the
>>>>> calendar and mail applications, as it's SSO you're not
logging in to an
>>>>> app, you're looging in to a group of apps.
>>>>>
>>>>> Can we reliably detect what variant it is? Or does this have to be
>>>>> configured in the admin console on a per-client basis?
>>>>>
>>>>>> On Fri, Sep 19, 2014 at 1:26 PM, Stian Thorgersen <
stian(a)redhat.com >
>>>>> wrote:
>>>>>> ----- Original Message -----
>>>>>>> From: "Lukáš Fryč" < lukas(a)fryc.eu >
>>>>>>> To: "Stian Thorgersen" < stian(a)redhat.com >
>>>>>>> Cc: "AeroGear Developer Mailing List" <
aerogear-dev(a)lists.jboss.org
>>>>>> ,
>>>>>>> keycloak-dev(a)lists.jboss.org
>>>>>>> Sent: Friday, 19 September, 2014 1:18:19 PM
>>>>>>> Subject: Re: [keycloak-dev] [aerogear-dev] Keycloak Ionic /
Cordova
>>>>> theme
>>>>>>> IMHO the SSO endpoint could either detect an incoming client
(that
>>>>> would be
>>>>>>> rather complex)
>>>>>>>
>>>>>>> or simply allow user client preference. Can we allow more
than one
>>>>> theme
>>>>>>> per realm and let the client app choohse?
>>>>>> Not sure what you mean, we always know which client is requesting
the
>>>>> login
>>>>>> (it's the client_id query param). The client should only be
used for one
>>>>>> variant of an application as well (so for an app that has a web,
android
>>>>> and
>>>>>> ios variants, there should be 3 clients configured in KC). So
there's no
>>>>>> problem providing an option to override the theme on a per-client
basis.
>>>>>>
>>>>>>> On Fri, Sep 19, 2014 at 9:43 AM, Stian Thorgersen <
stian(a)redhat.com >
>>>>>>> wrote:
>>>>>>>
>>>>>>>> This raises the question. Should we allow overriding the
theme on an
>>>>>>>> per-application basis?
>>>>>>>>
>>>>>>>> It would allow a better integration with the app, but on
the other
>>>>> side
>>>>>>>> does it even make sense to login to a SSO realm that
way?
>>>>>>>>
>>>>>>>> ----- Original Message -----
>>>>>>>>> From: "Erik Jan de Wit" <
edewit(a)redhat.com >
>>>>>>>>> To: "AeroGear Developer Mailing List" <
>>>>> aerogear-dev(a)lists.jboss.org >
>>>>>>>>> Cc: keycloak-dev(a)lists.jboss.org
>>>>>>>>> Sent: Friday, 19 September, 2014 8:08:02 AM
>>>>>>>>> Subject: Re: [aerogear-dev] Keycloak Ionic / Cordova
theme
>>>>>>>>>
>>>>>>>>> Looks very nice, will this integrate well with the
work that
>>>>> Summers
>>>>>>>>> did?
>>>>>>>>>
>>>>>>>>> On 18 Sep,2014, at 20:19 , Lukáš Fryč <
lukas.fryc(a)gmail.com >
>>>>> wrote:
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Yeah and off course, the source is here:
>>>>>>>>>
>>>>>>>>>
https://github.com/lfryc/keycloak/tree/ionic-styling
>>>>>>>>>
>>>>>>>>> On Thu, Sep 18, 2014 at 8:14 PM, Lukáš Fryč <
lukas.fryc(a)gmail.com
>>>>>>>> wrote:
>>>>>>>>>
>>>>>>>>> Hey guys,
>>>>>>>>>
>>>>>>>>> I've started some work on a theme for Keycloak
that would include
>>>>> Ionic
>>>>>>>>> Framework styling.
>>>>>>>>>
>>>>>>>>> This makes sure that Ionic/Cordova demos that
includes Keycloak has
>>>>>>>> smooth
>>>>>>>>> transition between application and login process /
registration.
>>>>>>>>>
>>>>>>>>> See attached screenshots.
>>>>>>>>>
>>>>>>>>> It's still in early prototypal stage, so just
just login,
>>>>> registration
>>>>>>>> and
>>>>>>>>> social (only google) fully works so far, but others
can be simply
>>>>>>>> expanded.
>>>>>>>>> Feel free to use it in demos or so... ;-)
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Cheers,
>>>>>>>>>
>>>>>>>>> ~ Lukas
>>>>>>>>>
>>>>>>>>> _______________________________________________
>>>>>>>>> aerogear-dev mailing list
>>>>>>>>> aerogear-dev(a)lists.jboss.org
>>>>>>>>>
https://lists.jboss.org/mailman/listinfo/aerogear-dev
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> _______________________________________________
>>>>>>>>> aerogear-dev mailing list
>>>>>>>>> aerogear-dev(a)lists.jboss.org
>>>>>>>>>
https://lists.jboss.org/mailman/listinfo/aerogear-dev
>>>>>>>> _______________________________________________
>>>>>>>> keycloak-dev mailing list
>>>>>>>> keycloak-dev(a)lists.jboss.org
>>>>>>>>
https://lists.jboss.org/mailman/listinfo/keycloak-dev
>>>>>>>>
>>>>>> _______________________________________________
>>>>>> aerogear-dev mailing list
>>>>>> aerogear-dev(a)lists.jboss.org
>>>>>>
https://lists.jboss.org/mailman/listinfo/aerogear-dev
>>>>> _______________________________________________
>>>>> keycloak-dev mailing list
>>>>> keycloak-dev(a)lists.jboss.org
>>>>>
https://lists.jboss.org/mailman/listinfo/keycloak-dev
>>>>>
>>> _______________________________________________
>>> keycloak-dev mailing list
>>> keycloak-dev(a)lists.jboss.org
>>>
https://lists.jboss.org/mailman/listinfo/keycloak-dev
>>>
>> --
>> Bill Burke
>> JBoss, a division of Red Hat
>>
http://bill.burkecentral.com
>> _______________________________________________
>> keycloak-dev mailing list
>> keycloak-dev(a)lists.jboss.org
>>
https://lists.jboss.org/mailman/listinfo/keycloak-dev
> _______________________________________________
> keycloak-dev mailing list
> keycloak-dev(a)lists.jboss.org
>
https://lists.jboss.org/mailman/listinfo/keycloak-dev
_______________________________________________
keycloak-dev mailing list
keycloak-dev(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/keycloak-dev