我已经启动了一个新的.net核心项目,我将其配置为使用Google+ Api进行身份验证。我的客户端ID和密码使用dotnet用户密钥存储。当我构建我的泊坞窗图像时,我得到了
Unhandled Exception: System.ArgumentException: The 'ClientId' option must be provided.
我知道这是因为我的秘密没有提供给图像。我想知道的是如何在不将它们提交到存储库的情况下提供我的Id和Secret密钥,并仍在本地运行我的图像。
我在想,当我将它部署到服务器时,我可以将它们作为Env变量的一部分,我想我也可以在本地进行,只是想知道是否有其他人有这个可能比我更优雅的解决方案
我找不到其他人如何做到这一点的很多信息。
答案 0 :(得分:3)
首先,秘密不是您应该用于部署的。通过帮助防止敏感数据存储在代码中/检查到源代码管理中,可以在开发过程中保护安全存储的秘密。请参阅相关问题How do UserSecrets work in the Cloud?
你是对的,你应该使用环境变量代替,或者作为替代,使用像DB那样的外部设置存储。
答案 1 :(得分:3)
要添加Google+身份验证,您可以看到此guide。
在startup.cs中添加此代码段
Sub WMS()
Dim myValn As String
Dim ws As Worksheet
Dim ws2 As Worksheet
Dim myDate3 As String
Dim Wmsn As String
Dim Wmsn2 As String
Set ws = ThisWorkbook.Worksheets("UPLOADER")
Set ws2 = ThisWorkbook.Worksheets("VARIABLES")
myName = ws2.Range("B2").Value
myValn = ws2.Range("B1").Value
myDate3 = Format(Date, "mm-dd-yyyy")
Wmsn = "WMS_36196_PROD_" & myDate3 & ".csv"
Wmsn2 = "36196_WMS_" & myDate3 & ".csv"
'source path below
FileCopy "\\Rdcicgtcuwd01p\app_log\36196_WMS\" & Wmsn, "\\olscmesf003\gcm_emea\TCU_REPORTS\APPS\Reports\Regional\Workflow Management System\2017\" & myValn & "\" & Wmsn2
End Sub
在appsettings.json中添加此行
services.AddAuthentication().AddGoogle(googleOptions =>
{
googleOptions.ClientId = Configuration["Authentication:Google:ClientId"];
googleOptions.ClientSecret = Configuration["Authentication:Google:ClientSecret"];
});