페이스북을 이용한 커스텀 인증
개요
이 튜토리얼에서는 Facebook 커스텀 인증 기능이 있는 Photon Unity Networking (PUN)프로젝트를 생성할 것입니다.
페이스북 어플리케이션 생성
먼저 페이스북 개발자 웹사이트에서 어플리케이션을 생성 해야 합니다.
Apps -> Create a New App 을 클릭하여 앱의 이름을 입력 하고 Create App 버튼을 누릅니다.
Apps -> [your_app] 을 선택하여 App ID 와 App Secret을 복사 합니다.
Photon Dashboard
Photon Dashboard를 열어서, 사용 할 App Id 를 선택하여 *상세보기(See Details)*를 클릭 합니다. Authentication 탭으로 가서 *Allow anonymous clients to connect, independently of configured providers.*를 체크 해제 합니다. Facebook authentication provider 를 선택하고 App ID 와 Secret 를 붙여 넣습니다.Reject all clients if not available를 체크 합니다.
PUN 설정하기
유니티를 열어 PUN을import 하고 setup 합니다. 유니티의 메인 메뉴에서 Facebook -> Edit Settings 를 선택 후 페이스북 어플리케이션의 Name과 App ID를 입력 합니다.
커스텀 인증 구현
새로운 C# 스크립트를 생성 하고 스크립트를 씬위의 객체에 붙여 오픈 합니다. 다음의 페이스북 초기화와 로그인 코드를 사용 합니다 :
C#
using Facebook;
void Awake()
{
FB.Init(SetInit, OnHideUnity);
}
private void SetInit()
{
enabled = true;
if (FB.IsLoggedIn)
{
Debug.Log("SetInit()");
OnLoggedIn();
}
}
private void OnHideUnity(bool isGameShown)
{
Debug.Log("OnHideUnity()");
}
void LoginCallback(FBResult result)
{
if (FB.IsLoggedIn)
{
OnLoggedIn();
}
}
페이스북 로그인 다이얼로그를 오픈 하기 위한 버튼을 추가 합니다:
C#
void OnGUI()
{
if (!FB.IsLoggedIn)
{
if (GUI.Button(new Rect(10, 10, 100, 20), "Login to Facebook")) {
FB.Login("email", LoginCallback);
}
}
GUI.Label(new Rect(200, 50, 100, 20), PhotonNetwork.connectionStateDetailed.ToString());
}
PUN 에서 페이스북 인증을 이용하기 위해 아래코드를 추가 합니다:
C#
void OnLoggedIn()
{
PhotonNetwork.AuthValues = new AuthenticationValues();
PhotonNetwork.AuthValues.AuthType = CustomAuthenticationType.Facebook;
PhotonNetwork.AuthValues.UserId = FB.UserId; // alternatively set by server
PhotonNetwork.AuthValues.AddAuthParameter("username", FB.UserId);
PhotonNetwork.AuthValues.AddAuthParameter("token", FB.AccessToken);
PhotonNetwork.ConnectUsingSettings("1.0");
}
어플리케이션 디플로이
페이스북은 어플리케이션 호스팅을 위해 https 를 사용하는 웹 서버가 필요 합니다.
이 웹 서버는 IIS, WAMP 등과 같은 로컬 웹 서버를 사용할 수 있습니다. 하지만 가장 쉬운 방법은 Dropbox 에 .unity3d 파일을 추가 하는 것 입니다. 드롭박스의 퍼블릭 폴더에 .unity3d 파일을 추가하고 이 파일의 링크를 카피하여
페이스북 앱 웹 사이트 Unity Binary URL에 붙여 넣으시면 됩니다.
결론
이 튜토리얼에서는 페이스북 API와 PUN 의 통합에 필요한 기초 단계를 다루어 봤습니다.
아직 이해가 가지 않은 부분이 있나요? 언제든지 forum으로 오셔서 질문 해주시기 바랍니다.
행복한 코딩 하세요!
- 개요 Markdig.Syntax.Inlines.HtmlInline Markdig.Syntax.Inlines.HtmlInline
- 페이스북 어플리케이션 생성 Markdig.Syntax.Inlines.HtmlInline Markdig.Syntax.Inlines.HtmlInline
- Photon Dashboard Markdig.Syntax.Inlines.HtmlInline Markdig.Syntax.Inlines.HtmlInline
- PUN 설정하기Markdig.Syntax.Inlines.HtmlInline Markdig.Syntax.Inlines.HtmlInline
- 커스텀 인증 구현 Markdig.Syntax.Inlines.HtmlInline Markdig.Syntax.Inlines.HtmlInline
- 어플리케이션 디플로이 Markdig.Syntax.Inlines.HtmlInline Markdig.Syntax.Inlines.HtmlInline
- 결론 Markdig.Syntax.Inlines.HtmlInline Markdig.Syntax.Inlines.HtmlInline