저는 AppHarbor에서 호스팅되는 샘플 앱을 보유하고 있으며 이제는 facebook을 통해 인증을 통합하려고합니다. 그래서 그것을 구현하기 위해 Facebook.Web.Mvc 패키지를 다운로드했습니다.Facebook 랜덤 포트 OAuth + AppHarbor 해결 방법
이public ActionResult Login(string returnUrl)
{
var oauthClient = new FacebookOAuthClient(FacebookApplication.Current) { RedirectUri = GetFacebookRedirectUri() };
if (!string.IsNullOrWhiteSpace(returnUrl))
{
returnUrl = Url.Action("Index", "Facebook");
}
dynamic parameters = new ExpandoObject();
parameters.scope = ExtendedPermissions;
var state = new { csrf_token = CalculateMD5Hash(Guid.NewGuid().ToString()), return_url = returnUrl };
parameters.state = Base64UrlEncode(Encoding.UTF8.GetBytes(JsonSerializer.Current.SerializeObject(state)));
SetFacebookCsrfToken(state.csrf_token);
string s = oauthClient.GetLoginUrl(parameters).AbsoluteUri;
ViewBag.FacebookLoginUrl = s;
//new LogEvent(s).Raise();
return View(new AccountModel());
}
보기 : 로컬 호스트에서
<a href="@ViewBag.FacebookLoginUrl" id="lUrl">
<div class="fblogin"></div>
이 나를 위해 작동
컨트롤러, 튜토리얼을 읽은 후 나는 방법이있다. 하지만 appharbor에 업로드 할 때 생성 된 링크가 주소 + 포트 16013을 나타냅니다 (지원이 항상 임의의 포트라고 말함). 그래서 그것을 클릭하면 페이스 북의 로그인 창이 빈 페이지보다 나옵니다.수동으로이 포트의 Facebook에 내 앱 설정을 구성했지만 도움이되지 않았습니다.
또한이 포트를 통해 내 사이트에 액세스하려고했습니다.
그런 다음 jquery를 통해 포트 번호를 80으로 변경 했는데도 도움이되지 않았습니다.
그런 문제가 있습니까?
당신은'GetFacebookRedirectUri()'등 수 있을까요? 그 방법 내에서 포트 번호를 자르기 만하면됩니다. –
고맙습니다. 귀하의 대답은 제가 한 걸음 더 나아갈 수 있도록 도와주었습니다. GetFacebookRedirectUri()를 사용하고 포트 번호를 자릅니다. 이것은 내 FacebookCallBack() 메소드에 응답하기 위해 발생하지만, 앞으로는 진행되지 않습니다. AppHarbor에서 이러한 상황을 디버깅하는 방법을 모르기 때문에 저는 붙어 있습니다. 이제 나는 새로운 LogEvent를 사용합니다. AppHarbor의 관리 영역으로 메시지를 가져 오려면 –