https php/mysql WebService,带有iOS Instagram登录



我试图将自己的思想缠绕在某些方面。我想创建一个Web服务,该服务从iOS/Android应用程序访问数据库。现在,我希望用户能够通过Instagram API登录该应用。

我有点困惑,因为它们如何融合在一起。显然,第一步是使用Instagram登录。那我该怎么办?我想将我收到的用户信息(至少是用户名/ID)保存到数据库中,并提供其他来自Instagram(例如位置)的其他信息。所有这些都以安全的方式。我可以使用Instagram令牌吗?我在这个过程中有点困扰...

做您要寻找的事情,最简单的方法是进行休息网。

使用此WebService,您的iOS和Android应用都可以连接和发送/获取数据。

您的网络服务应负责管理所有数据,从数据库中保存或获取信息。并且也可以负责用户身份验证。

要与您的Web服务交谈,您的应用程序可以使用JSON。因此,您应该学习如何发送和解析JSON。

祝你好运!

有用的链接:

Instagram的API

Android应用程序教程中的Instagram集成

update

要将Instagram用户与您的数据库相关联,您可以使用提供的用户ID:

{
    "access_token": "fb2e77d.47a0479900504cb3ab4a1f626d174d2d",
    "user": {
        "id": "1574083",
        "username": "snoopdogg",
        "full_name": "Snoop Dogg",
        "profile_picture": "..."
    }
}

请参阅:Instagram身份验证

完成步骤3 Instagram自动化后,这很简单,我不会谈论它,因为您的疑问是如何与数据库集成Instagram数据,您应该收到以下JSON:

{
    "access_token": "fb2e77d.47a0479900504cb3ab4a1f626d174d2d",
    "user": {
        "id": "1574083",
        "username": "snoopdogg",
        "full_name": "Snoop Dogg",
        "profile_picture": "..."
    }
}

您对数据的处理是一个架构问题:

1)您的用户可以通过Instagram或常规用户名/密码

授权

创建一个具有密码字段和Instagram user_id的用户表:

您的用户表可能是:

CREATE TABLE users (
    id INT AUTO_INCREMENT NOT NULL ,
    username VARCHAR(255) NOT NULL,
    password VARCHAR(255) DEFAULT NULL,
    instagram_userid INT DEFAULT NULL,
    instagram_accesstoken VARCHAR(255) DEFAULT NULL,
    PRIMARY KEY(id)
);

任何时候用户通过Instagram进行身份验证,您应该:

  1. 查找您的使用表,与Instagram API返回的同一Instagram_userid。
  2. 如果Instagram_userid已经存在,则应立即在应用程序中对用户进行身份验证(例如,使用会话/cookie,即您一生的通常方式)。
  3. 如果不存在Instagram_userid,则应在Instagram API返回的用户名中创建一个用户行。还可以通过会话对此用户进行身份验证。

2)Instagram是您身份验证

的唯一用户选择

您应该只创建一个仅是Instagram API返回的镜子的用户表。您可以将Instagram_userid视为主要密钥:

CREATE TABLE users (
    username VARCHAR(255) NOT NULL,
    instagram_userid INT DEFAULT NULL,
    instagram_accesstoken VARCHAR(255) DEFAULT NULL,
    PRIMARY KEY(instagram_userid)
 );
  1. 任何时候用户通过Instagram API进行身份验证,您应该在用户表中搜索具有与Instagram API返回的相同ID的行。
  2. 如果存在该行,请在您的应用程序中验证该用户。
  3. 如果行不存在,请创建并验证用户。

帐户合并

如果您的应用程序同时处理用户名/passoword身份验证,也许可以处理其他身份验证提供商,则您应该期望用户可能会忘记他通过您的应用程序注册了Instagram auth,并尝试通过用户名/密码自动化。如果发生这种情况,您可能会提供一种合并帐户而不是复制帐户的方法。例如,如果用户Instagram电子邮件以用户名的形式存在于您的数据库中,则应使用Instagram API数据更新此行,而不是假设其新帐户。这样,现在您的用户可以使用USUERNAME/password和Instagram进行身份验证。

访问令牌

存储了Instagram访问令牌,但未使用。为什么?因为它将用于获取Instagram数据,例如用户的帖子,朋友列表等。如果您想这样做,则不应假设令牌是有效的,因为它可能会过期,因此您应该处理令牌到期并提供一种方式向用户再次验证。

相关内容

  • 没有找到相关文章

最新更新