J'essaie de faire au moins quelque chose à partir des documents officiels vert.x
.vertx auth2 exemple de travail
ce que signifie exactement here
Le code :
String code = "xxxxxxxxxxxxxxxxxxxxxxxx"; // the code is provided as a url parameter by github callback call
oauth2.getToken(new JsonObject().put("code", code).put("redirect_uri", "http://localhost:8080/callback"), res -> {
if (res.failed()) {
// error, the code provided is not valid
} else {
// save the token and continue...
}
});
Je crois de là
https://developers.google.com/identity/protocols/OAuth2,
flux d'autorisation:
Je suppose d'envoyer une autorisation code à github/google pour obtenir un accès jeton (c'est mon but ultime). Alors ce code est le code d'autorisation?
Je suppose que pour recevoir ce code, je dois d'abord envoyer mon utilisateur/informations d'identification comme première étape? Cette étape semble manquer.
La question est .. quel est le flux complet/code pour obtenir le jeton oauth pour github par exemple?
-
Mon meilleur ce que je pouvais faire:
Envoyer rediriger vers la page de connexion github envoyer mes lettres de créance et l'instruction comment me rappeler (le/url auth-rappel sur mon application serveur)
oauth2 = GithubAuth.create(vertx, clientId, applicationSecret); final String authorizationURI = oauth2.authorizeURL(new JsonObject() .put("redirect_uri", DOMAIN + ":" + PORT + "/auth-callback") .put("scope", "notifications") .put("state", "3(#0/!~")); context.response().putHeader("Location", authorizationURI) .setStatusCode(302) .end();
Quand je presse entrer à la connexion je compte obtenir un rappel .. et recevoir le ... code d'autorisation? où est-ce que c'est??
donc je fais:
router.get("/auth-callback/").handler((RoutingContext context) -> {
oauth2.getToken(tokenConfig, res -> {
if (res.failed()) {
System.err.println("Access Token Error: " + res.cause().getMessage());
} else {
System.out.println("Got access");
// Get the access token object (the authorization code is given from the previous step).
final AccessToken token = res.result();
System.out.println("Got a token! " + token.toString());
}
});
}
);
donc .. comme résultat que je ne me rappelé par cette url. Semble parce .get (.. ne correspond pas au/auth-rappel & scope = notifications & état = .. etc tout ce param. Quelle est la bonne .get?
Quel est le tokenConfig censé être. Ce supposons que pour contenir le code d'authentification
comme je l'ai dit: un exemple de travail serait bien le doc semble ne nous aide pas beaucoup
merci! l'autorisationURI est/auth-callback? params(). get ("code") - null – ses
C'est l'URL de votre application où GitHub vous redirigera lorsque l'authentification aura été effectuée. Alors oui, c'est le rappel –