Проверьте Google Enterprise Recaptcha в веб -проекте C#, используя Googlecredentialers из строки JSON [закрыто]C#

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

Сообщение Anonymous »

У меня есть веб -приложение ASP.NET в C#, работающем на .NET 4.8, которая использовала старую версию RecAptCha, которая была аутентификации с использованием секретного ключа RecAptcha. Единственным вариантом для моего веб -приложения было использование подражания через учетную запись службы. Мой пользователь пула приложений не смог прочитать файл < /p>

Код: Выделить всё

string filePath = System.Environment.GetEnvironmentVariable("GOOGLE_APPLICATION_CREDENTIALS")
вернул систему. /> [*] Создать учетную запись услуги:
https://cloud.google.com/iam/docs/servi ... nts-create

И владелец, и учетная запись услуги должны иметь учетную запись AIM:
  • (Роли/IAM.ServiceAccountTokenCReator) * Recaptcha Enterprise Agent (RecaptChaenterPrise.assessments.create)
Создать ключ учетной записи службы:
https://cloud.google.com/iam/docs/keys- ... oleобразно Выражение < /p>

Код: Выделить всё

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;

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

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

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

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

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

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

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