Проверьте Google Enterprise Recaptcha в веб -проекте C#, используя GooglecredentialEntive из строки JSONC#

Место общения программистов C#
Ответить
Anonymous
 Проверьте Google Enterprise Recaptcha в веб -проекте C#, используя GooglecredentialEntive из строки JSON

Сообщение Anonymous »

.NET Веб -приложение в C#, Framework 4.8, которая использовала старую версию Recapctha, которая была аутентификации с использованием секретного ключа Recaptcha. Единственным вариантом для моего веб -приложения было использование имперсина через сервисную учетную запись. Мой пользователь пула приложений не смог прочитать файл, string filePath = System.Environment.getEnvironmentVariable ("google_application_credentials") вернул систему.io.filenotFoundexception. < /P>
Это мое решение. />https://cloud.google.com/recaptcha/docs ... teобразное. (Роли /IAM.ServiceAccountTokenCreator) и
recaptcha Enterprise Agent (RecaptChaenterPrise.assessments.create) < /p>
Создать ключ учетной записи службы:
https://cloud.google.com/iam/docs/keys- ... ode]gcloud config set auth/impersonate_service_account SERVICE_ACCT_EMAIL
< /code>
html: < /p>

< /code>
код позади: < /p>
string projectID = from_config_file;
string sitekey = from_config_file;
string jsonKey = from_config_file;

// create Google credentials
GoogleCredential credential = GoogleCredential.FromJson(jsonKey);

// create the RecaptchaEnterpriseServiceClient
RecaptchaEnterpriseServiceClientBuilder builder = new RecaptchaEnterpriseServiceClientBuilder
{
ChannelCredentials = credential.ToChannelCredentials(),
Endpoint = RecaptchaEnterpriseServiceClient.DefaultEndpoint
};
RecaptchaEnterpriseServiceClient client = builder.Build();

// create the assessment request.
ProjectName projectName = new ProjectName(projectID);
CreateAssessmentRequest createAssessmentRequest = new CreateAssessmentRequest()
{
Assessment = new Assessment()
{
Event = new Event()
{
SiteKey = sitekey,
Token = response_from_user,
ExpectedAction = "USER"
},
},
ParentAsProjectName = projectName
};

// Check if the token is valid.
Assessment recaptchaCheck = client.CreateAssessment(createAssessmentRequest);
bool result = recaptchaCheck.TokenProperties.Valid;

[/code]
Важно: файл конфигурации должен быть зашифрован . Это можно сделать с помощью aspnet_regiis.exe.

Подробнее здесь: https://stackoverflow.com/questions/797 ... glecredent
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»