]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
auth: Make tokeninfo optional
authorAki Tuomi <aki.tuomi@dovecot.fi>
Tue, 21 Feb 2017 09:21:19 +0000 (11:21 +0200)
committerAki Tuomi <aki.tuomi@dovecot.fi>
Tue, 21 Feb 2017 09:48:30 +0000 (11:48 +0200)
It is not supported by all OAuth2 solutions

src/auth/db-oauth2.c

index c66dcdfa342f81bc99e9826786970dac0864555d..fb45709d37e4851cfd345cde630632c6d38878a2 100644 (file)
@@ -603,7 +603,12 @@ void db_oauth2_lookup(struct db_oauth2 *db, struct db_oauth2_request *req,
        input.real_remote_port = req->auth_request->real_remote_port;
        input.service = req->auth_request->service;
 
-       req->req = oauth2_token_validation_start(&db->oauth2_set, &input,
-                                                db_oauth2_lookup_continue, req);
+       if (*db->oauth2_set.tokeninfo_url == '\0') {
+               req->req = oauth2_introspection_start(&req->db->oauth2_set, &input,
+                                                     db_oauth2_introspect_continue, req);
+       } else {
+               req->req = oauth2_token_validation_start(&db->oauth2_set, &input,
+                                                        db_oauth2_lookup_continue, req);
+       }
        DLLIST_PREPEND(&db->head, req);
 }