2012-07-24 2 views
-1

여기는 내 UserLogin.aspx 페이지 코드입니다. Facebook 코드는 Facebook 사용자의 인증을 포함하고 있습니다. 문제는 세션에서 토큰을 maintaing하여 나중에 Default.aspx에서 사용하는 것입니다. 줄을 보면 Session [ "facebook_token"] = authToken;Facebook 통합 세션 문제

내 Default.aspx 페이지로드시이 코드를 배치했지만 홈 또는 기본 페이지로 이동하면 null 값을 제공합니다. 당신은 모든 페이지로드에 다음 줄을 실행하는 것처럼

if (Session["facebook_token"] != null) 
     lblUserName.Text = Session["facebook_token"].ToString(); 


using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.UI; 
using System.Web.UI.WebControls; 
using SocialMediaModel; 
using Facebook.Components; 

public partial class UserLogin : System.Web.UI.Page 
{ 
FacebookService _fbService = new FacebookService(); 
private const string FACEBOOK_API_KEY = "551810942508804"; 
private const string FACEBOOK_SECRET = "b63b8cca428b42935e6eab59976367b1"; 

protected void Page_Load(object sender, EventArgs e) 
{ 
    // ApplicationKey and Secret are acquired when you sign up for 
    _fbService.ApplicationKey = FACEBOOK_API_KEY; 
    _fbService.Secret = FACEBOOK_SECRET; 
    _fbService.IsDesktopApplication = false; 

    string sessionKey = Session["facebook_session_key"] as String; 
    string userId = Session["facebook_userId"] as String; 

    string authToken = Request.QueryString["auth_token"]; 

    Session["facebook_token"] = authToken; 

    // We have already established a session on behalf of this user 
    if (!String.IsNullOrEmpty(sessionKey)) 
    { 
     _fbService.SessionKey = sessionKey; 
     _fbService.UserId = userId; 
    } 
    // This will be executed when facebook login redirects to our page 
    else if (!String.IsNullOrEmpty(authToken)) 
    { 
     _fbService.CreateSession(authToken); 
     Session["facebook_session_key"] = _fbService.SessionKey; 
     Session["facebook_userId"] = _fbService.UserId; 
     Session["facebook_session_expires"] = _fbService.SessionExpires; 
    } 
    // Need to login 
    else 
    { 
     Response.Redirect(@"http://www.facebook.com/login.php?api_key=" + 
     _fbService.ApplicationKey + @"&v=1.0"); 
    } 


    } 
} 

답변

0

string authToken = Request.QueryString["auth_token"];

Session["facebook_token"] = authToken;

이 보이는 (?) - 확인하지 않고 심지어 이 이름으로 GET 매개 변수가있는 경우 .