2016-04-06 11 views
1

Ich versuche, ein Beispiel für Azure Adal (Oauth2) Verwendung mit Dropwizard zu finden, kann aber nichts finden.Azure Adal mit Dropwizard

Das Oauth2-Beispiel auf der Website von Dropwizard ist wirklich vage, ich kann nicht zu verstehen scheinen, wo ich meine ClientId und Token-Endpunkte bereitstellen würde.

jemand ein Beispiel haben, wie OAuth2 (Azure AD) mit Dropwizard

Antwort

1

ich überhaupt keine Erfahrung von Dropwizard haben nicht zu verwenden, aber ich habe es geschafft, einige Beispiel-Code auf GitHub zu finden, die Ihnen helfen können.

Ich möchte auf einen kleinen Haftungsausschluss hinweisen, den ich in der Readme-Sektion bemerkt habe.

Dieses Projekt wird nur für interne Projekte bei CommerceHub verwendet. Sie sollten mit dem Auth-Abschnitt des DropWizard-Handbuchs vertraut sein.

Das sagte als Beispiel sieht es ziemlich lebensfähig für mich aus, hoffentlich wird dir das helfen. Hier ist die Beispielkonfiguration, die sie als Referenz veröffentlicht haben.

ad: 
    domain: my.company.example.com # No Default 
    domainController: my-fav-dc.my.company.example.com # Default: <domain> 
    sslEnabled: true # Default: true 
    usernameFilterTemplate: (&((&(objectCategory=Person)(objectClass=User)))(sAMAccountName=%s)) # Default: <As shown> %s replaced with the sAMAccountName 
    attributeNames: # Default: <As Shown>. first two are required. Will be fetched as String. 
     - sAMAccountName 
     - memberOf 
     - mail 
    binaryAttributeNames: # Default: empty. Will be fetched as byte[]. Need for the ones below. 
     - objectGUID 
     - objectSid 
    connectionTimeout: 1000 # Default: as shown in millseconds 
    readTimeout: 1000 # Default: as shown in millseconds 
    requiredGroups: # Default: <empty> 
     - All 
     - Of 
     - These 
     - Are 
     - Required 
     - Or 
     - You 
     - Get 
     - A 
     - 401 

Ich habe auch das Beispiel von der Seite auch hier:

@Override 
public void run(HelloWorldConfiguration configuration, Environment environment) throws ClassNotFoundException { 
... 
// dropwizard 0.9.x 
environment.jersey().register(new AuthDynamicFeature(
     new BasicCredentialAuthFilter.Builder<AdPrincipal>() 
      .setAuthenticator(AdAuthenticator.createDefault(configuration.getAdConfiguration())) 
      .setRealm("MSAD") 
      .buildAuthFilter())); 
environment.jersey().register(RolesAllowedDynamicFeature.class); 
environment.jersey().register(new AuthValueFactoryProvider.Binder<>(AdPrincipal.class)); 

// dropwizard 0.7.x 
environment.jersey().register(new BasicAuthProvider<>(AdAuthenticator.createDefault(configuration.getAdConfiguration()), "MSAD")); 
... 
environment.jersey().register(new ProtectedResource()); 
} 
2

Ich habe keine Erfahrung für Dropwizard, aber ich glaube, Sie könnten einige Azure AD mit Ihrer Anwendung integrieren möchten, für den Aufruf Azure-Dienste oder die Implementierung der Authentifizierung wie SSO.

Ich suchte das Benutzerhandbuch für OAuth2 mit Dropwizard. Es scheint, die Authentifizierung und Autorisierung über den zugehörigen REST-Service in den Anwendungscontainer als Filter für Spring Framework zu registrieren.

Es gibt ein Beispiel auf Azure official site gezeigt, wie integrate Azure AD into a Java web application. Ich denke, es ist hilfreich für Sie, die Schritte zu kennen.

Jede Sorge, bitte zögern Sie nicht, lassen Sie es mich wissen.

+0

Hey, ich habe versucht, die Probe Java Web App, aber ich bekomme eine Fehlermeldung, es fehlt die Main-Methode – user3711455

+1

@ user3711455 Wie haben Sie das Beispiel ausgeführt? Es sollte auf Tomcat oder Jetty bereitgestellt werden. –

+0

Ops ... Entschuldigung, ich habe nur versucht, den Krieg alleine zu führen (noob hier). Habe es mit Jersey gemacht und es funktioniert. Jetzt müssen Sie herausfinden, wie Sie es mit Dropwizard verwenden können – user3711455