使用ios instagram登录https PHP / MySql webservice

问题描述 投票:3回答:2

我试着把想法包围起来。我想创建一个从ios / android应用程序访问数据库的Web服务。现在我希望用户能够通过Instagram API登录应用程序。

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

php ios mysql web-services instagram-api
2个回答
1
投票

完成第3步Instagram Autorization后,非常简单,我不会谈论它,因为你的问题是如何将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已经存在,您应该立即在您的应用程序中验证您的用户(例如,使用SESSIONS / COOKIES,即您一生中常用的方式)。
  3. 如果instagram用户标识不存在,则应创建一个用户行,其中包含Instagram API返回的用户名。还使用SESSION对此用户进行身份验证。

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身份验证通过您的应用程序注册,并尝试通过用户名/密码进行身份验证。如果发生这种情况,您可能会提供合并帐户的方法,而不是复制帐户。例如,如果用户Instagram电子邮件作为用户名存在于您的数据库中,则应使用instagram api数据更新此行,而不是假设其新帐户。通过这种方式,现在您的用户可以使用usuername / password和Instagram进行身份验证。

访问令牌

instagram访问令牌已存储,但未使用。为什么?因为它将用于获取Instagram数据,如用户的帖子,朋友列表等。如果你想这样做,你不应该认为令牌有效,因为它可能会过期,所以你应该处理令牌过期并提供一种方式给用户再次进行身份验证。


3
投票

要做你想要的,最简单的方法是做一个Rest WebService。

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

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

要与您的WebService通信,您的应用可以使用JSON。所以你应该学习如何发送和解析JSON。

祝好运!

有用的链接:

Instagram's API

Instagram Integration in Android Application Tutorial

UPDATE

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

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

见:Instagram Authentication

© www.soinside.com 2019 - 2024. All rights reserved.