在开发人员文档之后,我尝试了多种尝试来实现这一目标。
我想从令牌有效负载中提取标签,如果没有的话,我可以从/ me响应主体中构建标签。
这是我最近的尝试:
var jwtDecode = require('jwt-decode');
const getTokenFields = (z, bundle) => {
var sub = jwtDecode(bundle.authData.token)['sub']
console.log(sub)
return sub;
};
const getLabelField = (z, bundle) => {
var sub = jwtDecode(bundle.authData.token)['sub']['label']
console.log(sub)
return sub;
};
const authentication = {
type: 'session',
test: {
url: '{{process.env.AP_HOST}}/me'
},
fields: [
{
key: 'token',
type: 'string',
required: true,
helpText: 'See settings to get your token'
}
],
sessionConfig: {
perform: getTokenFields
},
connectionLabel: {
perform: getLabelField
}
};
module.exports = authentication;
我唯一可以工作的是:
connectionLabel: "{{bundle.authData.token}}"
,但看起来糟透了!
connectionLabel: "{{bundle.authData.responsefield}}"
感觉应该可以正常工作,但两者都不可行
答案 0 :(得分:0)
Zapier Platform团队的David在这里。
它应该是connectionLabel: {perform: getLabelField}
,而不是connectionLabel: getLabelField
。您还可以使用从捆绑软件中提取的字符串(如您所见),或从指定的测试端点返回的任何数据(请参见here)。
应该进行 验证,以防止您拥有所拥有的东西(运行zapier validate
时会出错),但是如果一切恢复正常,则一定要告诉我们。