Web App Manifest

From IndieWeb


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 for rel=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 the href attribute from the element. If there is no http prefix, add the client_id to the beginning of the href 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).

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

See Also