views:

364

answers:

2

Hi guys,

I would like my iphone app to store & get data from my app engine application, but how can i make sure only my app makes these requests?

Do i have to make a gmail account, and let that account login as administrator to my google app engine application? So i can use that account from within my iphone app to handle the request?

I just dont want non iphone app users to access the app engine application. Any idea's?

A: 

You can't. Anyone can access your service.

erotsppa
+1  A: 

You can define your own API, and use whatever authentication method you prefer. You'll need to embed some sort of secret in your app that you use to authenticate with - for example, a randomly generated secret key.

In general, it's not possible to embed a key in user software that users can't extract. You have a slight advantage on the iPhone, because it's a very controlled platform: Most users have no way of accessing your app's binaries. You're still vulnerable to a user with a rooted iPhone disassembling your app and retrieving the secret, however - and there's nothing you can do about that.

Alternately, you can require users of your app to sign up for an account with your app, and authenticate users individually.

Nick Johnson