I already create My Apps in https://developers.facebook.com and I already get my app id and app secret. which i already set to my
client_id = "I hide it first", client_secret = "I hide it first",
My question is when I run my application their is no result found to my cshtml page.
loginController :
private Uri RediredtUri
{
get
{
var uriBuilder = new UriBuilder(Request.Url);
uriBuilder.Query = null;
uriBuilder.Fragment = null;
uriBuilder.Path = Url.Action("FacebookCallback");
return uriBuilder.Uri;
}
}
[AllowAnonymous]
public ActionResult Facebook()
{
var fb = new FacebookClient();
var loginUrl = fb.GetLoginUrl(new
{
client_id = "I hide it first",
client_secret = "I hide it first",
redirect_uri= RediredtUri.AbsoluteUri,
response_type="code",
scope="email"
});
return Redirect(loginUrl.AbsoluteUri);
}
public ActionResult FacebookCallback(string code)
{
var fb = new FacebookClient();
dynamic result = fb.Post("oauth/access_token", new
{
client_id = "I hide it first",
client_secret = "I hide it first",
redirect_uri = RediredtUri.AbsoluteUri,
code = code
});
var accessToken = result.access_token;
Session["AccessToken"] = accessToken;
fb.AccessToken = accessToken;
dynamic me = fb.Get("me?fields=link,first_name,currency,last_name,email,gender,locale,timezone,verified,picture,age_range");
string email = me.email;
TempData["email"] = me.email;
TempData["first_name"] = me.first_name;
TempData["lastname"] = me.last_name;
TempData["picture"] = me.picture.data.url;
FormsAuthentication.SetAuthCookie(email, false);
return RedirectToAction("Login", "login");
}
Login.cshtml :
@Html.ActionLink("Login with facebook", "Facebook", "login")
<table>
<tr><td>Email:</td><td><b>@TempData["email"]</b></td></tr>
<tr><td>First Name:</td><td><b>@TempData["first_name"]</b></td></tr>
<tr><td>Last Name:</td><td><b>@TempData["lastname"]</b></td></tr>
<tr><td>Picture:</td><td><b><img src="@TempData["picture"]" /></b></td></tr>
</table>