使用oAuth和令牌的Azure身份验证

使用oAuth和令牌的Azure身份验证,azure,oauth,azure-mobile-services,Azure,Oauth,Azure Mobile Services,我是azure用户,我使用mobileservice客户端从oAuth提供商令牌生成azure令牌 我想让用户安全地读/写我的API,它给我的唯一唯一标识符似乎是一个整数userID。令牌是一个更难猜测的字符串,每次生成未经身份验证的客户端时,它都会发生变化 这样做的最佳实践是什么?有人能用我的appkey打开一个客户端,猜测25个字符的用户ID,然后调用我的api吗 如何使用令牌为我的api提供安全的读/写?还是使用用户ID、https、模糊处理等是我的最佳选择?也许我可以使用一个关于代币如何

我是azure用户,我使用mobileservice客户端从oAuth提供商令牌生成azure令牌

我想让用户安全地读/写我的API,它给我的唯一唯一标识符似乎是一个整数userID。令牌是一个更难猜测的字符串,每次生成未经身份验证的客户端时,它都会发生变化

这样做的最佳实践是什么?有人能用我的appkey打开一个客户端,猜测25个字符的用户ID,然后调用我的api吗


如何使用令牌为我的api提供安全的读/写?还是使用用户ID、https、模糊处理等是我的最佳选择?也许我可以使用一个关于代币如何工作的教程。

这里有两到三个部分

1) OAuth提供商(Facebook、Google等)可能会向您提供一个加密签名的JSON Web令牌(JWT)——安全且可信 2) ZUMO令牌也是一个JWT加密签名的令牌,可以信任。 3) 您可以通过调用getIdentity()(node.js server SDK)或GetIdentityAsync(ASP.NET server SDK)将JWT转换为支持JWT的声明


你可以在我的博客上找到一些信息:我正准备讨论Azure手机应用程序的认证。你的博客写得很好,可以作为一种资源使用。如果你有时间回答,我想问你一两个问题,省得我头疼……我问的基本问题,但你所说的“支持JWT的声明”是什么意思?这仅仅意味着我应该在服务器上使用getIdentity()返回的值来获取我想要的唯一令牌吗?当身份提供者返回令牌时,它通常被格式化为JWT-Json Web令牌(请参见JWT.io)-其中是特定的声明-例如“此用户电子邮件地址是X”-定义为Json blob。通过验证后查看/.auth/me中的信息(URL与azure服务相关),您可以看到服务将在GetIdentityAsync()调用中返回什么