페더레이션이 작동하질 않습니다ㅠ

  • 뒤끝 SDK 버전 : 5.11.1
  • 프로젝트명 : LoginTest
  • 스테이터스 코드 :
using UnityEngine;
using BackEnd;
using GooglePlayGames;
using GooglePlayGames.BasicApi;
using System;

public class BackendManager : MonoBehaviour
{
    LoginScene _loginScene;

    void Start()
    {
        _loginScene = GameObject.Find("@LoginScene").GetComponent<LoginScene>();
        Init();
    }

    void Init()
    {
        var bro = Backend.Initialize(true);

        if (bro.IsSuccess())
        {
            Debug.Log($"초기화 성공 : {bro}");
            _loginScene.text = $"초기화 성공 : {bro}";
        }
        else
        {
            Debug.Log($"초기화 실패 : {bro}");
            _loginScene.text = $"초기화 실패 : {bro}";
        }
            

        PlayGamesClientConfiguration config = new PlayGamesClientConfiguration
            .Builder()
            .RequestServerAuthCode(false)
            .RequestEmail()
            .RequestIdToken()
            .Build();

        //커스텀된 정보로 GPGS 초기화
        PlayGamesPlatform.InitializeInstance(config);
        PlayGamesPlatform.DebugLogEnabled = true;
        //GPGS 시작.
        PlayGamesPlatform.Activate();

    }


    public void GPGSLogin()
    {
        // 이미 로그인 된 경우
        if (Social.localUser.authenticated == true)
        {
            _loginScene.islogin = true;
            BackendReturnObject BRO = Backend.BMember.AuthorizeFederation(GetTokens(), FederationType.Google, "gpgs");
        }
        else
        {
            Social.localUser.Authenticate((bool success) =>
            {
                Debug.Log($"구글로그인 성공 여부는 {success}입니다");
                if (success)
                {
                    // 로그인 성공 -> 뒤끝 서버에 획득한 구글 토큰으로 가입 요청
                    //Backend.BMember.AuthorizeFederation(GetTokens(), FederationType.Google, "GPGS로 가입함");
                    Backend.BMember.AuthorizeFederation(GetTokens(), FederationType.Google, "GPGS로 가입함", callback =>
                    {
                        _loginScene.islogin = true;
                        Debug.Log("구글로 뒤끝 로그인 성공");
                        _loginScene.text = "구글로 뒤끝 로그인 성공";
                    });

                }
                else
                {
                    // 로그인 실패
                    Debug.Log("로그인 실패");
                    _loginScene.text = "로그인 실패";
                }
            });
        }
        
    }       



    // 구글 토큰 받아옴
    string GetTokens()
    {

        if (PlayGamesPlatform.Instance.localUser.authenticated)
        {
            // 유저 토큰 받기 첫 번째 방법
            string _IDtoken = PlayGamesPlatform.Instance.GetIdToken();
            // 두 번째 방법
            // string _IDtoken = ((PlayGamesLocalUser)Social.localUser).GetIdToken();
            Debug.Log($"_IDtoken값은 {_IDtoken}입니다");
            _loginScene.text = $"_IDtoken값은 {_IDtoken}입니다";
            return _IDtoken;
        }
        else
        {
            Debug.Log("접속되어 있지 않습니다. PlayGamesPlatform.Instance.localUser.authenticated :  fail");
            _loginScene.text = "접속되어 있지 않습니다. PlayGamesPlatform.Instance.localUser.authenticated :  fail";
            return null;
        }

    }



    public void GuestLogin()
    {
        /*
        Backend.BMember.GuestLogin("게스트 로그인으로 로그인함", callback => {
            if (callback.IsSuccess())
            {
                Debug.Log("게스트 로그인에 성공했습니다");
                Managers.Scene.LoadScene(Define.Scene.Lobby);
            }
        });
        */

        BackendReturnObject bro = Backend.BMember.GuestLogin("게스트 로그인으로 로그인함");
        if (bro.IsSuccess())
        {
            _loginScene.islogin = true;
            Debug.Log("게스트 로그인에 성공했습니다");
            _loginScene.text = "게스트 로그인에 성공했습니다";
        }

    }


    public void CheckUserInBackend()
    {
        BackendReturnObject BRO = Backend.BMember.CheckUserInBackend(GetTokens(), FederationType.Google);
        Debug.Log(BRO);
        Debug.Log(GetTokens());
    }


}






  • 에러 코드 :
  • 에러 메시지 :

로그캣을 보면 GetTokens()에서 정상적으로 토큰을 받아오는 것으로 확인이 되는데 이후 GPGSLogin()에서 Backend.BMember.AuthorizeFederation()의 콜백 부분이 전혀 실행되지 않습니다.

CheckUserInBackend()로 확인을 해봐도 계속 statusCode : 204로만 나오는 걸 보면 페더레이션이 아예 진행되지 않는 것 같습니다. 다른 문의글들을 보고 해결을 해보려고 해도 도저히 안되네요ㅜ 어떻게 해야 할까요?

안녕하세요 개발자님,
상세 정보 확인 시 다음 에러가 발생하고 있는 것으로 확인됩니다.

statuscode : 401
erroercode : BadUnauthorizedException
message : bad packageName, 잘못된 packageName 입니다

[콘솔 - 프로젝트 설정 - 인증 정보] 경로에 입력 정보들을 확인하여 누락된 정보들을 입력하신 후 재시도해 주시면 감사하겠습니다.


2

최초에 인증정보 설정 후 건들지 않았고 게스트 로그인은 정상적으로 진행됩니다
어떤 글에 보니 packageName이 안 맞으면 그럴 수도 있다고 해서 그것도 맞춰놓았구요…
게스트로그인은 되는데 페더레이션이 안되는 경우에 인증정보 문제일 수도 있을까요?

콘솔 내 인증정보 메뉴 내에 패키지네임을 등록해 주시고
구글 해시키도 확인하여 하여 등록 후 이용해 주시면 감사하겠습니다.

안내드리는 개발자 문서를 참고해, 해시키를 확인하여 등록해 주세요. :D

5시간 고민했던게 드디어 해결됐네요ㅠ 감사합니다… 페더레이션 해시키는 평생 못 잊을거 같아요…
친절한 답변 정말 감사합니다!

좋아요 1