2016-09-25 31 views
1

我正在与跑道上的其他人合作,将各种外部应用程序与我们在跑道上创建的信息管理系统集成。离开工作区后的Podio API密钥

我需要澄清我对API密钥生成的理解。具体来说,API密钥是从用户的帐户设置生成的。如果我为集成生成API密钥并且稍后从该工作区中删除,是否会终止与Podio中的应用程序的连接?

我知道,简单的问题和明显的答案是肯定的,它会终止连接,但我想知道是否有人有直接的经验,并可以证实我的假设。

回答

1

有几种使用Podio API密钥的方法。 Client-ID和Client-Secret 单独使用不允许您访问应用程序或工作区。客户端ID和客户端秘密只是将您标识为“开发者”,他已被授予使用Podio API的权限。同样,这个数据单独不授予您的用户访问任何工作区或应用程序。

让我们回顾一下波迪奥API认证更详细的工作原理:
文档主页:https://developers.podio.com/authentication

例子在Ruby中:

Podio.setup(
    :api_key => 'USER_0_CLIENT_ID', 
    :api_secret => 'USER_0_CLIENT_SECRET' 
) 
begin 
    Podio.client.authenticate_with_credentials('USER_1', 'PASSWD') 
    # got access to ALL info that USER_1 can access, but not USER_0 

    Podio.client.authenticate_with_credentials('USER_2', 'PASSWD') 
    # got access to ALL info that USER_2 can access (but won't be able to access any info from USER_1 nor USER_0) 

    Podio.client.authenticate_with_app('APP_1_ID', 'APP_1_TOKEN') 
    # get access to APP_1 items (and nothing else), and it doesn't matter if USER_0 has access to APP_1 or not (nor USER_1, nor USER_2) 

    Podio.client.authenticate_with_app('APP_2_ID', 'APP_2_TOKEN') 
    # get access to APP_2 items (and nothing else), and it doesn't matter if USER_0 has access to APP_2 or not 

rescue Podio::PodioError => ex 
    # Something went wrong 
end 

因此,你需要一个有效的客户ID /客户端秘密以及有效的认证凭证,以实际访问跑道内的任何信息。身份验证凭证可以是其他用户登录名/密码,app_id/app_token或由用户通过服务器端流程或客户端流程登录时由Podio生成的access_token。

+0

谢谢你的回应。 #2适用于我所指的内容,但如果客户端ID和客户端密钥是来自不再能够访问工作区的用户的API连接的一部分,他们如何继续访问? –

+0

我已经重新构造了答案,以明确客户端ID和客户端秘密不提供任何访问权限,但只有ClientID/Secret与用户名/密码或app_id/token或access_token的完整组合才可以访问Podio应用程序,项目。 –