我是Azure AD的新手。使用Azure AD访问令牌的最佳实践是什么?
0Auth和JWT令牌之间有什么区别,我应该使用哪一个来遵循最佳实践?
我使用以下代码获取令牌。我需要将其转换为0Auth令牌吗?
var AzureData = await DependencyService.Get<IAuthenticator>()
.Authenticate(App.tenanturl, App.GraphResourceUri, App.ApplicationID, App.ReturnUri);
App.AuthenticationResult = AzureData;
var userToken = Azuredata.AccessToken;
请帮助。谢谢。
答案 0 :(得分:0)
JWT是一种令牌,而OAuth是一种框架。
JWT(JSON Web令牌)只是一种令牌格式,它定义了一种紧凑且自包含的机制,该机制用于在各方之间传输数据,这种方式经过验证和信任,因为它是经过数字签名的。
Oauth是一个身份验证框架,它具有由框架定义的常规过程和设置。 JWT可以用作OAuth内部的机制。您无需转换令牌。
在...时使用JWT
需要联邦。例如,您要使用Azure AD作为令牌发行者,然后使用Apigee Edge作为令牌验证者。使用JWT,应用程序可以通过Azure AD进行身份验证,接收令牌,然后将该令牌提供给Apigee Edge进行验证。 (同样适用于Google登录,Paypal或Salesforce.com等)。
需要异步。例如,您希望客户端发送一个请求,然后将该请求存储在某个地方,以便由单独的系统“稍后”执行。该单独的系统将没有与客户端的同步连接,并且可能没有与中央令牌分配器的直接连接。异步处理系统可以读取JWT,以确定该工作项是否可以并且应该在以后的时间完成。在某种程度上,这与上面的联合会想法有关。不过请注意:JWT到期。如果保存工作项的队列在JWT的生存期内未得到处理,则声明将不再受信任。
在以下情况下使用OAuth
有关更多详细信息,请参见this thread。