Ich möchte Captcha in meinem Login verwenden Seiten in identityServer3, Wie mache ich das? Gibt es eine Beispielquelle? Ich versuche Google ReCaptcha zu verwenden, aber es funktioniert nicht. Please Help MeWie erstelle ich Captcha in IdentityServer3 Login-Seiten
Antwort
Die bessere Frage ist how to customize the login screen?
the documentation on customizing views
Die Ansichten in IdentityServer sehen kann in einem von zwei Arten angepasst werden: 1) das HTML-Templates durch die DefaultViewService vorgesehen anpassen, oder wenn mehr Kontrolle 2 erforderlich) definieren, einen benutzerdefinierten IViewService
eine benutzerdefinierte Implement IViewService
zu change the full layout. Wenn Sie nur die Anmeldeseite ändern möchten, fügen Sie Ihr benutzerdefiniertes HTML hinzu, das die gleiche eckige Logik wie das existing login page implementiert und es einem Ordner mit dem Namen mit dem Dateinamen _login.html
hinzufügt. Wenn Sie die layout (die Header) ändern möchten, müssen Sie dieses Mal die Datei _Layout.html
benennen. Dies ist alles in der documentation erläutert, mit den oben aufgeführten als "Teilansichten ersetzen". Diese
ist, wie ich es tat, ohne IViewService mit
recaptcha Skripte auf die Vorlagen/_layout.html head-Tag
<script src='https://www.google.com/recaptcha/api.js'></script>
hinzufügen Schnipsel hinzufügen Bildschirmseite in Templates/_login.html einzuloggen, mit hinzugefügt Namen "g-recaptcha-Antwort" Attribut
<div class="g-recaptcha" name="g-recaptcha-response" data-sitekey="your sitekey"></div>
CspOptions t = hinzufügen o der Startklasse google Skript
CspOptions = new CspOptions
{
Enabled = true,
FontSrc = "'self' data: fonts.gstatic.com",
StyleSrc = "'self' 'unsafe-inline' fonts.googleapis.com",
ScriptSrc = "'self' https://www.google.com https://www.gstatic.com; object-src 'self'",
FrameSrc = "https://www.google.com"
}
Inject OwinEnvironmentService
auf die Userservice-Klasse zu ermöglichen - Damit können Sie das Token aus dem reCaptcha
private readonly OwinEnvironmentService _environmentService;
public UserService(OwinEnvironmentService environmentService)
{
_environmentService = environmentService;
}
Bei AuthenticateLocalAsync Snippet packen, das Token packen und es überprüfen
var gReCaptchaResponse = _environmentService.GetLoginInput("g-recaptcha-response");
var client = new RestClient("https://www.google.com");
var request = new RestRequest("recaptcha/api/siteverify", Method.POST) { RequestFormat = DataFormat.Json };
request.AddParameter("secret", "YOUR SECRET");
request.AddParameter("response", gReCaptchaResponse);
var response = client.Execute(request);
var verficationStatus = JsonConvert.DeserializeObject<GReCaptcha>(response.Content);
if(!verficationStatus.Success)
{
Logger.Warn("Captcha invalid");
context.AuthenticateResult = new AuthenticateResult("Please verify that you are not a robot");
return Task.FromResult(0);
}
GetLoginInput (Formulareingabename) Verlängerung (Kredit an martinip86 von der Antwort im Github
public static string GetLoginInput(this OwinEnvironmentService environmentService, string fieldName)
{
const string body = "owin.RequestBody";
if (!environmentService.Environment.Keys.Contains(body))
return null;
var owinFormData = environmentService.Environment[body] as System.IO.Stream;
if (owinFormData == null)
return null;
var formData = string.Empty;
using (var sr = new System.IO.StreamReader(owinFormData))
{
formData = sr.ReadToEnd();
}
if (string.IsNullOrWhiteSpace(formData))
return null;
var formDataParsed = HttpUtility.ParseQueryString(formData);
return formDataParsed[fieldName];
}
- 1. Wie gebe ich benutzerdefinierte Parameter von der IdentityServer3-Anmeldeseite zurück?
- 2. Wie entferne ich ein Captcha?
- 3. IdentityServer3, Identityserver3.MembershipReboot in asp Kern
- 4. IdentityServer3 - Überprüfen des Clientzugriffs
- 5. Wie validiere ich g-captcha-response?
- 6. Wie lese ich ein CAPTCHA mit Java?
- 7. Dynamic RedirectUri in identityserver3
- 8. Wie Google Captcha
- 9. IdentityServer3 - wie man Access_token benutzt
- 10. Einfaches Captcha - Wie testen?
- 11. Wie man CAPTCHA bricht?
- 12. IdentityServer3 - wie partielle Identität in PreAuthenticateAsync erhalten?
- 13. Muss ich Captcha in allen Formen hinzufügen?
- 14. CAPTCHA in Java
- 15. Wie automatisiertes Testen von Formularen mit Captcha? mit captcha
- 16. Wie erstelle ich GUID?
- 17. Captcha-Implementierung in ROR
- 18. Wie erstelle ich R.java
- 19. Wie führe ich IdentityServer3 als Windows-Dienst aus?
- 20. IdentityManager.MembershipReboot vs IdentityServer3.MembershipReboot
- 21. Wie implementiert man Captcha in CakePHP 2.0?
- 22. Wie man Captcha in yii wform hinzufügt
- 23. Wie Captcha schneller in MVC4-Anwendung laden?
- 24. IdentityServer3 mit WebAuthenticationBroker
- 25. IdentityServer3 und php
- 26. IdentityServer3 - Client und Secret
- 27. Captcha-Algorithmus
- 28. Setup Identityserver3 für SSO
- 29. Identityserver3 - User Identity
- 30. IdentityServer3 - Incremental Authorization (lastprivilege)