小编jat*_*247的帖子

如何在ASP.NET和Azure的web.config之外安全地使用凭据

目标:将Azure Web应用程序托管到Azure,并将OAuth2用于Google,Twilio和SendGrid,并提供用于用户信息的数据库.

问题:当我利用我的Web.config文件中的"appSettings"引用的外部配置文件时,我在发布时收到错误.在Azure中,我还输入了要为Google OAuth2安全存储的凭据,这将覆盖我的研究和理解中发布的Web.config设置.如何在我的代码敏感凭据中正确安全地使用和引用Azure?

研究:我一直在逐步关注这个链接 -

https://azure.microsoft.com/en-us/documentation/articles/web-sites-dotnet-deploy-aspnet-mvc-app-membership-oauth-sql-database/
Run Code Online (Sandbox Code Playgroud)

此链接还会在下面显示另一个Google OAuth2实施链接 -

www.asp.net/mvc/overview/security/create-an-aspnet-mvc-5-app-with-facebook-and-google-oauth2-and-openid-sign-on#goog
Run Code Online (Sandbox Code Playgroud)

但是,这会不安全地将敏感信息放在web.config文件中,该文件由安全说明指出,该文件引出了将敏感ASP.NET信息部署到Azure的安全/最佳实践 -

www.asp.net/identity/overview/features-api/best-practices-for-deploying-passwords-and-other-sensitive-data-to-aspnet-and-azure
Run Code Online (Sandbox Code Playgroud)

我的理解是,从web.config文件中引用包含敏感数据/凭证的外部文件是最佳做法.我注意到IIS不提供*.config,并且由于下面引用的配置文件位置,即使"git add*"也不会将敏感凭据添加到存储库.

Web.config - (注意第2行的appSettings)

    </connectionStrings>
   <appSettings file="..\..\AppSettingsSecrets.config">      
      <add key="webpages:Version" value="3.0.0.0" />
      <add key="webpages:Enabled" value="false" />
      <add key="ClientValidationEnabled" value="true" />
      <add key="UnobtrusiveJavaScriptEnabled" value="true" />      
   </appSettings>
  <system.web>
Run Code Online (Sandbox Code Playgroud)

AppSettingsSecrets.config

<appSettings>   
   <!-- SendGrid-->
   <add key="mailAccount" value="My mail account." />
   <add key="mailPassword" value="My mail password." />
   <!-- Twilio-->
   <add key="TwilioSid" value="My Twilio SID." />
   <add key="TwilioToken" value="My Twilio Token." />
   <add key="TwilioFromPhone" value="+12065551234" />

   <add key="GoogClientID" value="1.apps.googleusercontent.com" …
Run Code Online (Sandbox Code Playgroud)

c# security asp.net-mvc azure oauth-2.0

5
推荐指数
1
解决办法
1389
查看次数

标签 统计

asp.net-mvc ×1

azure ×1

c# ×1

oauth-2.0 ×1

security ×1