Есть отдельная страница для управления входом в Facebook. Откройте то же самое с главной страницы примерно так
window.open ("" ../ Helper / FBLoginMgr.aspx? Login = fb "," _blank "," height = 900, ширина = 800, menubar = 0, изменяемый размер = 1, полосы прокрутки = 1, состояние = 0, Titlebar = 0, панель инструментов = 0" );
в FBLoginMgr.aspx в событии загрузки страницы вы можете сделать это:
if (Request["login"] != null)
{
//First time
url = "https://graph.facebook.com/oauth/authorize?client_id={0}&redirect_uri={1}&scope=offline_access,read_stream,user_activities";
Response.Redirect(string.Format(url, app_id, redirect_url));
}
if (Request["code"] != null)
{
//Second time
url = "https://graph.facebook.com/oauth/access_token?client_id={0}&redirect_uri={1}&client_secret={2}&code={3}";
..
Исходный параметр строки запроса login = fb просто указывает логину входа в систему, что он только что был запущен и должен инициировать авторизацию Facebook. Второй запрос ["code"] - это параметр, публикуемый Facebook после авторизации пользователем.
Once the access token is retrieved, set a hidden variable to indicate that the job is done. Then in the aspx page you could have something like this:
$(document).ready(function () {
alert("Time to say good bye");
if (document.getElementById('<%=amidone.ClientID %>').value == "yes") {
window.parent.opener.doneWithLogin();//Indicate to the parent page
window.close();
}
});