我们有连接到SQL Azure DB的Web应用程序 . 我已使用应用程序ID和证书配置了我的应用程序 . 我们希望使用Access Token Approach连接到SQL Server,如下面的链接,通过令牌方法连接到SQL Server不是一种可靠的方法 . 任何推荐的连接方式,而不是用户ID和密码 .
Connect to Azure SQL using Azure Active Directory from an Azure Website?
任何人都可以告诉我他们是否已经使用实体框架实现了基于SQL Azure DB AAD令牌的身份验证,这是正确的连接方式 .
1 回答
根据您的描述,我遵循tutorial关于使用Azure SQL数据库的AAD身份验证 .
正如tutorial提到 Azure AD token authentication :
然后我按照blog中的code sample开始使用此功能,它按预期工作 .
基于上面的代码示例,我添加了EntityFramework 6.1.3,用于使用实体框架实现基于SQL Azure DB AAD令牌的身份验证 . 经过一些试验,我可以按预期工作 . 这里有一些细节,你可以参考它们 .
DbContext
DataModel
Program.cs
Result
Note: 通过
CREATE USER [mytokentest] FROM EXTERNAL PROVIDER
为您的应用程序主体包含的数据库用户没有访问数据库的任何权限 . 您需要为此用户授予权限,有关详细信息,请参阅此issue .此外,在构造
DbContext
实例时,需要使用有效的AccessToken
实现SqlConnection
实例 . AFAIK,您需要在令牌过期时处理令牌刷新 .