-
-
Save sealskej/2889927 to your computer and use it in GitHub Desktop.
| @SuppressWarnings("serial") | |
| public static final Map<String, String> identifiers = new HashMap<String, String>() { | |
| { | |
| put("google", "https://www.google.com/accounts/o8/id"); | |
| } | |
| }; | |
| public static Result auth() { | |
| Logger.debug("authenticate"); | |
| String providerId = "google"; | |
| String providerUrl = identifiers.get(providerId); | |
| String returnToUrl = "http://localhost:9000/login/verify"; | |
| if (providerUrl == null) { | |
| return badRequest("Could not find provider " + providerId); | |
| } | |
| Map<String, String> attributes = new HashMap<String, String>(); | |
| attributes.put("Email", "http://schema.openid.net/contact/email"); | |
| attributes.put("FirstName", "http://schema.openid.net/namePerson/first"); | |
| attributes.put("LastName", "http://schema.openid.net/namePerson/last"); | |
| Promise<String> redirectUrl = OpenID.redirectURL(providerUrl, returnToUrl, attributes); | |
| return redirect(redirectUrl.get()); | |
| } | |
| public static Result verify() { | |
| Logger.debug("verifyLogin"); | |
| Promise<UserInfo> userInfoPromise = OpenID.verifiedId(); | |
| UserInfo userInfo = userInfoPromise.get(); | |
| JsonNode json = Json.toJson(userInfo); | |
| return ok(json); | |
| } |
| GET /login/auth controllers.Application.auth() | |
| GET /login/verify controllers.Application.verify() |
Logger is play.Logger. Just add:
import Play.Logger;
to make it work.
Hi I tried the same example but getting below error. can you please help me in resolving this;
[debug] application - authenticate
[error] play - Cannot invoke the action, eventually got an error: java.net.ConnectException: https://www.google.com/accounts/o8/id
[error] application -
! @6md8071nd - Internal server error, for (GET) [/login/auth] ->
play.api.Application$$anon$1: Execution exception[[ConnectException: https://www.google.com/accounts/o8/id]]
at play.api.Application$class.handleError(Application.scala:293) ~[play_2.10.jar:2.2.3]
at play.api.DefaultApplication.handleError(Application.scala:399) [play_2.10.jar:2.2.3]
at play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$3$$anonfun$applyOrElse$3.apply(PlayDefaultUpstreamHandler.scala:264) [play_2.10.jar:2.2.3]
at play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$3$$anonfun$applyOrElse$3.apply(PlayDefaultUpstreamHandler.scala:264) [play_2.10.jar:2.2.3]
at scala.Option.map(Option.scala:145) [scala-library.jar:na]
at play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$3.applyOrElse(PlayDefaultUpstreamHandler.scala:264) [play_2.10.jar:2.2.3]
Caused by: java.net.ConnectException: https://www.google.com/accounts/o8/id
at com.ning.http.client.providers.netty.NettyConnectListener.operationComplete(NettyConnectListener.java:103) ~[async-http-client.jar:na]
at org.jboss.netty.channel.DefaultChannelFuture.notifyListener(DefaultChannelFuture.java:427) ~[netty.jar:na]
at org.jboss.netty.channel.DefaultChannelFuture.addListener(DefaultChannelFuture.java:145) ~[netty.jar:na]
at com.ning.http.client.providers.netty.NettyAsyncHttpProvider.doConnect(NettyAsyncHttpProvider.java:1068) ~[async-http-client.jar:na]
at com.ning.http.client.providers.netty.NettyAsyncHttpProvider.execute(NettyAsyncHttpProvider.java:890) ~[async-http-client.jar:na]
at com.ning.http.client.AsyncHttpClient.executeRequest(AsyncHttpClient.java:520) ~[async-http-client.jar:na]
Caused by: java.nio.channels.UnresolvedAddressException: null
at sun.nio.ch.Net.checkAddress(Unknown Source) ~[na:1.8.0_31]
at sun.nio.ch.SocketChannelImpl.connect(Unknown Source) ~[na:1.8.0_31]
at org.jboss.netty.channel.socket.nio.NioClientSocketPipelineSink.connect(NioClientSocketPipelineSink.java:108) ~[netty.jar:na]
at org.jboss.netty.channel.socket.nio.NioClientSocketPipelineSink.eventSunk(NioClientSocketPipelineSink.java:70) ~[netty.jar:na]
at org.jboss.netty.handler.ssl.SslHandler.handleDownstream(SslHandler.java:596) ~[netty.jar:na]
at org.jboss.netty.handler.codec.oneone.OneToOneEncoder.handleDownstream(OneToOneEncoder.java:54) ~[netty.jar:na]
Thanks in Advance.
can someone briefly describe the details.It's showing error..what is Logger.debug("authenticate"); ,