Loading server/api_unlink.go +1 −1 Original line number Diff line number Diff line Loading @@ -226,7 +226,7 @@ func (s *ApiServer) UnlinkFacebook(ctx context.Context, in *api.AccountFacebook) } } err := UnlinkFacebook(ctx, s.logger, s.db, s.socialClient, userID, in.Token) err := UnlinkFacebook(ctx, s.logger, s.db, s.socialClient, s.config.GetSocial().FacebookLimitedLogin.AppId, userID, in.Token) if err != nil { return nil, err } Loading server/core_unlink.go +7 −4 Original line number Diff line number Diff line Loading @@ -171,16 +171,19 @@ AND ((apple_id IS NOT NULL return nil } func UnlinkFacebook(ctx context.Context, logger *zap.Logger, db *sql.DB, socialClient *social.Client, id uuid.UUID, token string) error { func UnlinkFacebook(ctx context.Context, logger *zap.Logger, db *sql.DB, socialClient *social.Client, appId string, id uuid.UUID, token string) error { if token == "" { return status.Error(codes.InvalidArgument, "Facebook access token is required.") } facebookProfile, err := socialClient.GetFacebookProfile(ctx, token) facebookProfile, err := socialClient.CheckFacebookLimitedLoginToken(ctx, appId, token) if err != nil { facebookProfile, err = socialClient.GetFacebookProfile(ctx, token) if err != nil { logger.Info("Could not authenticate Facebook profile.", zap.Error(err)) return status.Error(codes.Unauthenticated, "Could not authenticate Facebook profile.") } } res, err := db.ExecContext(ctx, `UPDATE users SET facebook_id = NULL, update_time = now() WHERE id = $1 Loading server/runtime_go_nakama.go +1 −1 Original line number Diff line number Diff line Loading @@ -617,7 +617,7 @@ func (n *RuntimeGoNakamaModule) UnlinkFacebook(ctx context.Context, userID, toke return errors.New("user ID must be a valid identifier") } return UnlinkFacebook(ctx, n.logger, n.db, n.socialClient, id, token) return UnlinkFacebook(ctx, n.logger, n.db, n.socialClient, n.config.GetSocial().FacebookLimitedLogin.AppId, id, token) } func (n *RuntimeGoNakamaModule) UnlinkFacebookInstantGame(ctx context.Context, userID, signedPlayerInfo string) error { Loading server/runtime_javascript_nakama.go +1 −1 Original line number Diff line number Diff line Loading @@ -1969,7 +1969,7 @@ func (n *runtimeJavascriptNakamaModule) unlinkFacebook(r *goja.Runtime) func(goj panic(r.NewTypeError("expects token string")) } if err := UnlinkFacebook(context.Background(), n.logger, n.db, n.socialClient, id, token); err != nil { if err := UnlinkFacebook(context.Background(), n.logger, n.db, n.socialClient, n.config.GetSocial().FacebookLimitedLogin.AppId, id, token); err != nil { panic(r.NewGoError(fmt.Errorf("error unlinking: %v", err.Error()))) } Loading server/runtime_lua_nakama.go +1 −1 Original line number Diff line number Diff line Loading @@ -2567,7 +2567,7 @@ func (n *RuntimeLuaNakamaModule) unlinkFacebook(l *lua.LState) int { return 0 } if err := UnlinkFacebook(l.Context(), n.logger, n.db, n.socialClient, id, token); err != nil { if err := UnlinkFacebook(l.Context(), n.logger, n.db, n.socialClient, n.config.GetSocial().FacebookLimitedLogin.AppId, id, token); err != nil { l.RaiseError("error unlinking: %v", err.Error()) } return 0 Loading Loading
server/api_unlink.go +1 −1 Original line number Diff line number Diff line Loading @@ -226,7 +226,7 @@ func (s *ApiServer) UnlinkFacebook(ctx context.Context, in *api.AccountFacebook) } } err := UnlinkFacebook(ctx, s.logger, s.db, s.socialClient, userID, in.Token) err := UnlinkFacebook(ctx, s.logger, s.db, s.socialClient, s.config.GetSocial().FacebookLimitedLogin.AppId, userID, in.Token) if err != nil { return nil, err } Loading
server/core_unlink.go +7 −4 Original line number Diff line number Diff line Loading @@ -171,16 +171,19 @@ AND ((apple_id IS NOT NULL return nil } func UnlinkFacebook(ctx context.Context, logger *zap.Logger, db *sql.DB, socialClient *social.Client, id uuid.UUID, token string) error { func UnlinkFacebook(ctx context.Context, logger *zap.Logger, db *sql.DB, socialClient *social.Client, appId string, id uuid.UUID, token string) error { if token == "" { return status.Error(codes.InvalidArgument, "Facebook access token is required.") } facebookProfile, err := socialClient.GetFacebookProfile(ctx, token) facebookProfile, err := socialClient.CheckFacebookLimitedLoginToken(ctx, appId, token) if err != nil { facebookProfile, err = socialClient.GetFacebookProfile(ctx, token) if err != nil { logger.Info("Could not authenticate Facebook profile.", zap.Error(err)) return status.Error(codes.Unauthenticated, "Could not authenticate Facebook profile.") } } res, err := db.ExecContext(ctx, `UPDATE users SET facebook_id = NULL, update_time = now() WHERE id = $1 Loading
server/runtime_go_nakama.go +1 −1 Original line number Diff line number Diff line Loading @@ -617,7 +617,7 @@ func (n *RuntimeGoNakamaModule) UnlinkFacebook(ctx context.Context, userID, toke return errors.New("user ID must be a valid identifier") } return UnlinkFacebook(ctx, n.logger, n.db, n.socialClient, id, token) return UnlinkFacebook(ctx, n.logger, n.db, n.socialClient, n.config.GetSocial().FacebookLimitedLogin.AppId, id, token) } func (n *RuntimeGoNakamaModule) UnlinkFacebookInstantGame(ctx context.Context, userID, signedPlayerInfo string) error { Loading
server/runtime_javascript_nakama.go +1 −1 Original line number Diff line number Diff line Loading @@ -1969,7 +1969,7 @@ func (n *runtimeJavascriptNakamaModule) unlinkFacebook(r *goja.Runtime) func(goj panic(r.NewTypeError("expects token string")) } if err := UnlinkFacebook(context.Background(), n.logger, n.db, n.socialClient, id, token); err != nil { if err := UnlinkFacebook(context.Background(), n.logger, n.db, n.socialClient, n.config.GetSocial().FacebookLimitedLogin.AppId, id, token); err != nil { panic(r.NewGoError(fmt.Errorf("error unlinking: %v", err.Error()))) } Loading
server/runtime_lua_nakama.go +1 −1 Original line number Diff line number Diff line Loading @@ -2567,7 +2567,7 @@ func (n *RuntimeLuaNakamaModule) unlinkFacebook(l *lua.LState) int { return 0 } if err := UnlinkFacebook(l.Context(), n.logger, n.db, n.socialClient, id, token); err != nil { if err := UnlinkFacebook(l.Context(), n.logger, n.db, n.socialClient, n.config.GetSocial().FacebookLimitedLogin.AppId, id, token); err != nil { l.RaiseError("error unlinking: %v", err.Error()) } return 0 Loading