我正在与Podio上的另一个人合作,将各种外部应用程序与我们在Podio上创建的信息管理系统集成。
我需要澄清我对API密钥生成的理解。具体而言,API密钥是从用户的帐户设置生成的。如果我为集成生成API密钥并且稍后从该Workspace中删除,那么这是否会终止与Podio中的App的连接?
我知道,简单的问题和明显的答案是肯定的,它会终止连接,但我想知道是否有人有这方面的直接经验并且能够证实我的假设。
答案 0 :(得分:1)
有两种方法可以使用Podio API密钥。单独的Client-ID和Client-Secret 不允许您访问应用程序或工作区。 Client-ID和Client-Secret仅仅将您识别为“开发人员”,他们已被授予使用Podio API的权限。同样,此数据单独不会授予您的用户访问任何工作空间或应用程序的权限。
让我们来详细了解Podio 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
因此,除了有效的身份验证凭据之外,您还需要一个有效的Client-ID / Client-Secret 来实际访问Podio中的任何信息。身份验证凭据可以是另一个用户登录/密码,app_id / app_token或者当用户通过服务器端流程或客户端流程登录时由Podio生成的access_token的形式。