Mercurial > openid
view tests/utest.ur @ 58:9f392276d614
Graceful handling of OpenID providers that log the user in as the wrong identifier
author | Adam Chlipala <adam@chlipala.net> |
---|---|
date | Tue, 09 Aug 2011 09:53:40 -0400 |
parents | df258dbf4739 |
children | 089ad1d33e2f |
line wrap: on
line source
style inputs structure U = OpenidUser.Make(struct con cols = [Nam = string] val sessionLifetime = 3600 val afterLogout = bless "/main" val secureCookies = False val association = Openid.Stateful {AssociationType = Openid.HMAC_SHA256, AssociationSessionType = Openid.NoEncryption} val realm = Some "http://localhost:8080/" val creationState = n <- source ""; return {Nam = n} fun render r = <xml> <tr> <th class={inputs}>Name:</th> <td><ctextbox source={r.Nam}/></td> </tr> </xml> fun ready _ = return True fun tabulate r = n <- signal r.Nam; return {Nam = n} fun choose _ r = return (OpenidUser.Success r) val formClass = inputs val fakeId = None structure CtlDisplay = OpenidUser.DefaultDisplay end) fun wrap title body = userStuff <- U.main wrap; return <xml><head> <title>{[title]}</title> </head><body> {userStuff.Status}<br/> {userStuff.Other.Xml} <h1>{[title]}</h1> {body} </body></xml> fun main () = whoami <- U.current; wrap "Main page" (case whoami of None => <xml>I don't think you're logged in.</xml> | Some whoami => <xml>Apparently you are <b>{[whoami]}</b>!</xml>)