Web App Manifest
This article is a stub. You can help the IndieWeb wiki by expanding it.
Web App Manifest is a W3C living document that defines a JSON sidefile for web applications to publish information such as their name, icon, description.
How to use for IndieAuth
It has been proposed that WAM could be used for Client Information Discovery in IndieAuth. There are some simple steps to be able to do this.
- When checking for a
rel=redirect_url
, check forrel=manifest
(More information on obtaining a WAM url can be found here).- If
rel=manifest
is not found, fallback to mf2 parsing or other fallback - If
rel=manifest
is found, create the manifestUrl by grabbing thehref
attribute from the element. If there is no http prefix, add the client_id to the beginning of thehref
string.- Make a GET request to the manifest url and parse the response as JSON.
- the
name
attribute becomes the app name - one of the items in the
icons
array can become the app logo. Note, there can be different icons of different sizes. You'll want to grab the appropriate one based on its size.- The icons array contain objects that are src (the image url), sizes (a string about the size of the image at that url) and type (mime type).
- the
- Make a GET request to the manifest url and parse the response as JSON.
- If
IndieWeb Usage
Consumers
Eddie Hinkle
Eddie Hinkle added WAM parsing support into abode's Authorization endpoint on Aug 21, 2018, the code is open source and can be found here.
WordPress
David Shanske added basic WAM parsing support into the Wordpress_IndieAuth_Plugin on August 23, 2018.
The plugin searches for a manifest and uses the icon and name data from there. If not, it looks for an 'icon' link, then 'apple-touch-icon', etc. It does not currently look by size and picks the first one. For name, it falls back onto application-name as noted by the manifest specification, if not it will look for an og:title, then a title tag.
Publishers
Indigenous
Indigenous publishes a WAM file that provides information about the app including it's name and icons. Additionally, Indigenous for iOS it includes the prefer_related_applications
and related_applications
to present the fact that people should use the iOS app and not the website.
Together
Together publishes a WAM file that provides information about the app including it's name and icons.
Aperture
Aperture publishes a WAM file that provides information about the app including it's name and icons. https://aperture.p3k.io/icons/manifest.json
Quill
Quill publishes a WAM file that provides information about the app including it's name and icons. https://quill.p3k.io/icons/manifest.json
Monocle
Monocle publishes a WAM file that provides information about the app including it's name and icons. https://monocle.p3k.io/icons/manifest.json
OwnYourGram
OwnYourGram publishes a WAM file that provides information about the app including it's name and icons. https://ownyourgram.com/icons/manifest.json
IndieLogin.com
IndieLogin.com publishes a WAM file that provides information about the app including it's name and icons. https://indielogin.com/icons/site.webmanifest
Teacup
Teacup publishes a WAM file that provides information about the app including it's name and icons. https://teacup.p3k.io/manifest.json
Micropublish
Micropublish publishes a WAM file that provides information about the app, including its name. https://micropublish.net/manifest.json