[Auth UI] Banner image disappeared on Account Setting page after updates
keithtkl opened this issue · 9 comments
The banner image set for the project disappeared after adjusting authentication methods
- Skygear Server Date/Version: Not sure
- Application Platform: Tested on Rees
Expected Results
Banner image should be able to show on the Account Setting page at any time
Actual Results
Banner image disappeared after the user making any adjustment on the authentication methods
Steps to reproduce
- Login to the app
- Open Account Setting page
- Change / Connect / Disconnect of any authentication method
- See the banner image cannot be shown after returning to the Account Setting page
The cause is client_id
is lost after redirect.
We now use display_app_name
to show the app name but use clients[*].logo_uri
. clients[*].logo_uri
relies on client_id
to be present.
@kiootic Thoughts?
Technically the logo should be associated with the whole app, not specific OAuth client?
We need to make a distinction between RP metadata and IdP metadata.
Actually, in Auth UI, most likely RP metadata is used only at the entry point, e.g. showing 'you're logging in to App A'
Proposal
- Add
metadata
to ODICConfiguration metadata
hasclient_name
andlogo_uri
which replacesdisplay_app_name
andclient[*].logo_uri
Thoughts?
@kiootic ping
Add metadata to ODICConfiguration
AuthUIConfiguration is better?
metadata has client_name and logo_uri which replaces display_app_name and client[*].logo_uri
display_app_name
should be kept, but moved to auth_ui.metadata.display_app_name
. Both client_name
and logo_uri
should be kept for RPs.
clients:
- client_id: abc
# client_name and logo_uri are ignored for now.
client_name: My Client
logo_uri: https://example.com/a.png
auth_ui:
metadata:
# app_name and logo_uri are used instead.
app_name: My App
logo_uri: https://example.com/b.png
I suppose we'll inject the metadata directly into template context? So no validation is needed on metadata?
We have to localize localizable fields, such as app_name
and logo_uri
. So it is not a naive injection into the template context. But why are you asking that question?
I'm just thinking whether developer can put custom data in metadata for consumption in their own template.