我需要澄清的样品或参考链接如下项目:Azure的广告访问令牌澄清
- 如何启用访问令牌的自动续期?
- 如何获得活动访问令牌和过期时间?
- 是否有任何可能的方式从访问令牌再次获取广告用户名,密码和客户端ID?
- 如何验证访问令牌?
这一切都需要在c#中实现而不是在powershell中。
我需要澄清的样品或参考链接如下项目:Azure的广告访问令牌澄清
这一切都需要在c#中实现而不是在powershell中。
如何启用自动更新访问令牌?
在成功认证,天青AD返回两个令牌:一个JWT接入令牌和JWT刷新令牌。当所述接入令牌过期,客户机应用程序将接收指示用户需要再次认证错误。如果应用程序具有有效的刷新令牌,则可以使用该令牌来获取新的访问令牌,而不会提示用户再次登录。如果刷新令牌到期,应用程序将需要再次交互式验证用户身份。
如何获取活动的访问令牌和过期时间?
对于如何验证用户身份,并得到一个Azure的AD访问令牌的蔚蓝广告的应用程序,你可以参考Authentication Scenarios for Azure AD .The Azure的Active Directory验证库(ADAL)使客户端应用程序开发人员能够轻松验证用户云或本地Active Directory(AD),并获取用于保护API调用的访问令牌。 ADAL可用于各种平台。您可以在this document中找到代码示例和常见方案。
是否有任何可能的方式来从访问令牌再次获得广告的用户名,密码和客户端ID?
你可以得到解码访问令牌,找到upn
要求存储用户主体的用户名; appid
声明标识正在使用令牌访问资源的应用程序。请参考文档:Azure AD token reference。当然,您无法获取密码信息。
如何验证访问令牌?
JWT令牌已签名,但收到时未加密。它必须validate the signature来证明令牌的真实性并验证令牌中的一些声明以证明其有效性。由应用程序验证的声明因场景要求而异,但您的应用必须在每种情况下执行一些常见声明验证。例如,如果您正在开发单个租户应用,则需要验证iss
和aud
索赔。而且您还需要验证nbf
以确保令牌未过期。详情请参阅Validating tokens。
Here是如何手动验证Web API中的JWT访问令牌的代码示例。如果您在项目中使用OWIN组件,则使用UseWindowsAzureActiveDirectoryBearerAuthentication
扩展验证令牌更为容易,代码示例here仅供参考。
请注意,访问令牌应被视为不透明(并可在未来)。我们不建议您从访问令牌中提取声明。它只应该被资源消耗(不是客户端) –
也可以在客户端库上进行令牌的续订(对于C#,如果要定位Azure AD V1(适用于Work /学校帐户和ADFS内部帐户),如果您想要针对工作/学校帐户和MSA(Microsoft个人帐户)的Azure AD V2,则可以使用MSAL.Net –
对于C#客户端库,请参见[Azure Active Directory身份验证库](https://docs.microsoft.com/en-us/azure/active-directory/develop/active-directory-authentication-libraries) –
试试你的自我跟随教程,并问你有冲突或错误。请按照此https://docs.microsoft.com/en-us/azure/active-directory/develop/active-directory-authentication-scenarios – wthamira