我们正在使用 iOS 应用程序中 Azure Easy 表的同步功能。我们已经在我们的系统中实现了我们自己的身份验证和授权。我已经为 Easy API 做到了。我也想在 Easy Tables 同步上扩展相同的逻辑。我不确定如何将此逻辑添加到简单的表数据更改中。
任何指针将不胜感激。
我们正在使用 iOS 应用程序中 Azure Easy 表的同步功能。我们已经在我们的系统中实现了我们自己的身份验证和授权。我已经为 Easy API 做到了。我也想在 Easy Tables 同步上扩展相同的逻辑。我不确定如何将此逻辑添加到简单的表数据更改中。
任何指针将不胜感激。
从技术上讲,这与 Easy API 一样简单。您的身份验证/授权机制必须生成一个具有已知受众、颁发者和签名密钥的 JWT,然后您将其返回给您的客户。您的客户端将收到的 JWT 放置在 client.currentUser.mobileServicesAuthenticationToken 中(由于大小写规则,此属性的实际名称因客户端而异)。完成此操作后,客户端将在每个请求期间提交令牌。
在您的后端,您需要将服务器的身份验证设置设置为新的。在 Easy Tables 中,这涉及编辑主文件和调整创建 zumo 服务器的调用。在app.js
文件中查找如下所示的代码:
var mobile = azureMobileApps({
// Explicitly enable the Azure Mobile Apps home page
homePage: true
});
让它看起来像这样:
var mobile = azureMobileApps({
homePage: true,
auth: {
audience: "the-aud-field-from-your-JWT",
issuer: "the-iss-field-from-your-JWT",
secret: "the-secret-used-to-sign-the-JWT"
}
};
参考:http ://azure.github.io/azure-mobile-apps-node/global.html#authConfiguration
在这个秘密方面有一个小问题。此值直接输入 jsonwebtoken 解码器,因此您可能需要根据jsonwebtoken 指令将您使用的秘密转换为缓冲区。