Microsoft Azure PlayFab logo
    • Multiplayer
    • LiveOps
    • Data & Analytics
    • Add-ons
    • For Any Role

      • Engineer
      • Designer
      • Executive
      • Marketer
    • For Any Stage

      • Build
      • Improve
      • Grow
    • For Any Size

      • Solo
      • Indie
      • AAA
  • Runs on PlayFab
  • Pricing
    • Blog
    • Forums
    • Contact us
  • Sign up
  • Sign in
  • Ask a question
  • Spaces
    • PlayStream
    • Feature Requests
    • Add-on Marketplace
    • Bugs
    • API and SDK Questions
    • General Discussion
    • LiveOps
    • Topics
    • Questions
    • Articles
    • Ideas
    • Users
    • Badges
  • Home /
  • API and SDK Questions /
avatar image
Question by Aphix · Nov 21, 2020 at 02:58 AM · apis

Is the client API secure?

I was experimenting with Playfab in one of my unreal engine projects, and I am unsure as to how secure the client api transactions are. I presume that the client side api is the only api that can be called by people playing my game, however once again I question its security. Am I wrong and/or are there any tips anyone can give me to help me make data more secure? I am referring to player data, such as something like weapon skins in a shooter game.

Comment

People who like this

0 Show 0
10 |1200 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

1 Reply

· Add your reply
  • Sort: 
avatar image
Best Answer

Answer by Brendan · Nov 21, 2020 at 03:25 AM

Can you please clarify what you're asking? The Client API calls are secure, in that a Session Ticket is required to call them. The Session Ticket is returned to the client as a result of any Login... API call. Without a valid Session Ticket, the Client API calls will not work.

We also provide a secure commerce service, so that if you're using any of the integrated payment providers, you can be sure that players aren't getting items they didn't pay for, and any virtual currency purchases are correctly subtracting the VC from the player account.

If your question is, how do you know that the data coming from the client is not compromised, the answer is you don't. That's not possible on a general purpose computing device. It is relatively simple for a hacker to either a) decompile your title code and insert their own logic, or b) make calls to PlayFab directly, using the available API endpoints (starting with Login, to get a Session Ticket). You should always assume that anything coming from the client is suspect. We provide custom game server hosting and Azure Functions Cloud Script integration so that you can have server authoritative logic. We have a few write-ups of this in various posts in this forum that you may want to review, such as:

https://community.playfab.com/questions/12831/methods-to-reduce-the-likelihood-of-cheating.html

https://community.playfab.com/questions/10618/how-to-prevent-cheaters-from-being-rewarded.html

Comment
Aphix

People who like this

1 Show 8 · Share
10 |1200 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image Aphix · Nov 21, 2020 at 03:43 AM 0
Share

@Brendan That does make sense. What I'm really wondering is: is the admin/server api useable on game clients? For instance, if someone buys my game, will their version of the game only call client api functions?

avatar image Brendan ♦♦ Aphix · Nov 21, 2020 at 03:52 AM 0
Share

No, the Server and Admin API calls require a Secret Key, which you should never let anyone outside your team have access to. If a Secret Key is ever leaked by someone in your team, you can always invalidate that key in the Game Manager and generate a new one for any server-to-server calls you make.

I should also point out that a good security best practice is to use the API policy to disable all the Client API calls you're not using.

avatar image Denzie Gray Brendan ♦♦ · Nov 21, 2020 at 07:03 AM 0
Share

Is the dev secret key we add to project removed during runtime?

Show more comments

Your answer

Hint: You can notify a user about this post by typing @username

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Navigation

Spaces
  • General Discussion
  • API and SDK Questions
  • Feature Requests
  • PlayStream
  • Bugs
  • Add-on Marketplace
  • LiveOps
  • Follow this Question

    Answers Answers and Comments

    5 People are following this question.

    avatar image avatar image avatar image avatar image avatar image

    Related Questions

    How to grant multiple stackable items in one call? 1 Answer

    Server GetUserAccountInfo with FriendTitleDisplayName 1 Answer

    Is it possible to execute Admin API calls via CloudScript? 1 Answer

    UserData object different between client and server? 1 Answer

    ListGroupMembers() for nonmember 1 Answer

    PlayFab

    • Multiplayer
    • LiveOps
    • Data & Analytics
    • Runs on PlayFab
    • Pricing

    Solutions

    • For Any Role

      • Engineer
      • Designer
      • Executive
      • Marketer
    • For Any Stage

      • Build
      • Improve
      • Grow
    • For Any Size

      • Solo
      • Indie
      • AAA

    Engineers

    • Documentation
    • Quickstarts
    • API Reference
    • SDKs
    • Usage Limits

    Resources

    • Forums
    • Contact us
    • Blog
    • Service Health
    • Terms of Service
    • Attribution

    Follow us

    • Facebook
    • Twitter
    • LinkedIn
    • YouTube
    • Sitemap
    • Contact Microsoft
    • Privacy & cookies
    • Terms of use
    • Trademarks
    • Safety & eco
    • About our ads
    • © Microsoft 2020
    • Anonymous
    • Sign in
    • Create
    • Ask a question
    • Create an article
    • Post an idea
    • Spaces
    • PlayStream
    • Feature Requests
    • Add-on Marketplace
    • Bugs
    • API and SDK Questions
    • General Discussion
    • LiveOps
    • Explore
    • Topics
    • Questions
    • Articles
    • Ideas
    • Users
    • Badges