login_item(-Server, -Item) is nondet[multifile, wordlist(config)]
This hook is called to find all possible login options. It should bind Item to an HTML description for html//1 that must be clicked to login with this option. The item may have the following HTML attributes:
data-server(+Server)
This must be present and provides the first argument for the login/2 hook.
data-frame(+Style)
The login is realised in a popup to avoid reloading the current swish page. If Style is popup, a browser popup window is used. This is necessary for identity providers that refuse to open inside a frame. The default is iframe, which handles the login inside an iframe element in a modal popup.

The Item is often an image. The image must have a class login-with. Below is an example to login with Google:

swish_config:login_item(Item) :-
    http_absolute_location(icons('social_google_box.png'), Img, []),
    Item = img([ src(Img),
                 class('login-with'),
                 'data-server'(google),
                 title('Login with Google')
               ]).
Arguments:
Item- may be of the form Tag-Item. In this case the items are ordered by Tag. The default tag is 0.
 swish_config:login_item(-Server, -Item)[multifile, wordlist(plugin/http_authenticate)]