Package javaguide.ws.controllers

Source Code of javaguide.ws.controllers.OpenIDSamples

package javaguide.ws.controllers;

//#ws-openid-controller
import java.util.HashMap;
import java.util.Map;

import play.data.DynamicForm;
import play.data.Form;
import play.libs.F.Function;
import play.libs.F.Promise;
import play.libs.openid.*;
import play.mvc.Controller;
import play.mvc.Result;

import javax.inject.Inject;

public class OpenIDController extends Controller {

  @Inject OpenIdClient openIdClient;

  public Result login() {
    //###replace:     return ok(views.html.login.render(""));
    return ok(javaguide.ws.html.login.render(""));
  }

  public Promise<Result> loginPost() {
    DynamicForm requestData = Form.form().bindFromRequest();
    String openID = requestData.get("openID");

    final Promise<String> redirectUrlPromise =
        openIdClient.redirectURL(openID, routes.OpenIDController.openIDCallback().absoluteURL(request()));

    final Promise<Result> resultPromise = redirectUrlPromise.map(new Function<String, Result>() {
      @Override
      public Result apply(String url) {
        return redirect(url);
      }
    }).recover(new Function<Throwable, Result>() {
      @Override
      public Result apply(Throwable throwable) throws Throwable {
        //###replace:         return badRequest(views.html.login.render(throwable.getMessage()));
        return badRequest(javaguide.ws.html.login.render(throwable.getMessage()));
      }
    });

    return resultPromise;
  }

  public Promise<Result> openIDCallback() {

    final Promise<UserInfo> userInfoPromise = openIdClient.verifiedId();

    final Promise<Result> resultPromise = userInfoPromise.map(new Function<UserInfo, Result>() {
      @Override
      public Result apply(UserInfo userInfo) {
        return ok(userInfo.id() + "\n" + userInfo.attributes());
      }
    }).recover(new Function<Throwable, Result>() {
      @Override
      public Result apply(Throwable throwable) throws Throwable {
        //###replace:         return badRequest(views.html.login.render(throwable.getMessage()));
        return badRequest(javaguide.ws.html.login.render(throwable.getMessage()));
      }
    });

    return resultPromise;
  }

}
//#ws-openid-controller

class OpenIDSamples extends Controller {

  static OpenIdClient openIdClient;

  public static void extendedAttributes() {
   
    final String openID = "";
   
    //#ws-openid-extended-attributes
    final Map<String, String> attributes = new HashMap<String, String>();
    attributes.put("email", "http://schema.openid.net/contact/email");
   
    final Promise<String> redirectUrlPromise = openIdClient.redirectURL(
      openID,
      routes.OpenIDController.openIDCallback().absoluteURL(request()),
      attributes
    );
    //#ws-openid-extended-attributes
  }
 
}
TOP

Related Classes of javaguide.ws.controllers.OpenIDSamples

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.