Changeset 3460486
- Timestamp:
- 02/13/2026 04:36:09 AM (6 weeks ago)
- Location:
- daggerhart-openid-connect-generic
- Files:
-
- 18 edited
- 1 copied
-
tags/3.11.3 (copied) (copied from daggerhart-openid-connect-generic/trunk)
-
tags/3.11.3/includes/openid-connect-generic-client-wrapper.php (modified) (1 diff)
-
tags/3.11.3/includes/openid-connect-generic-client.php (modified) (6 diffs)
-
tags/3.11.3/includes/openid-connect-generic-jwt-validator.php (modified) (1 diff)
-
tags/3.11.3/includes/openid-connect-generic-option-settings.php (modified) (2 diffs)
-
tags/3.11.3/includes/openid-connect-generic-settings-page.php (modified) (2 diffs)
-
tags/3.11.3/languages/openid-connect-generic.pot (modified) (21 diffs)
-
tags/3.11.3/openid-connect-generic.php (modified) (3 diffs)
-
tags/3.11.3/readme.txt (modified) (2 diffs)
-
tags/3.11.3/vendor/composer/installed.php (modified) (2 diffs)
-
trunk/includes/openid-connect-generic-client-wrapper.php (modified) (1 diff)
-
trunk/includes/openid-connect-generic-client.php (modified) (6 diffs)
-
trunk/includes/openid-connect-generic-jwt-validator.php (modified) (1 diff)
-
trunk/includes/openid-connect-generic-option-settings.php (modified) (2 diffs)
-
trunk/includes/openid-connect-generic-settings-page.php (modified) (2 diffs)
-
trunk/languages/openid-connect-generic.pot (modified) (21 diffs)
-
trunk/openid-connect-generic.php (modified) (3 diffs)
-
trunk/readme.txt (modified) (2 diffs)
-
trunk/vendor/composer/installed.php (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
daggerhart-openid-connect-generic/tags/3.11.3/includes/openid-connect-generic-client-wrapper.php
r3459957 r3460486 915 915 // Check if JWKS endpoint is configured for JWT signature verification. 916 916 if ( ! empty( $this->settings->endpoint_jwks ) ) { 917 // Use configured issuer if provided, otherwise derive from endpoint_login. 918 $issuer = ! empty( $this->settings->issuer ) ? 919 $this->settings->issuer : 920 ( ! empty( $this->settings->endpoint_login ) ? $this->client->get_issuer_from_endpoint( $this->settings->endpoint_login ) : '' ); 921 917 922 // Use JWT validator for secure signature verification. 918 923 $jwt_validator = new OpenID_Connect_Generic_JWT_Validator( 919 924 $this->settings->endpoint_jwks, 920 925 $this->settings->client_id, 921 $ this->client->get_issuer_from_endpoint( $this->settings->endpoint_login ),926 $issuer, 922 927 $this->settings->jwks_cache_ttl, 923 928 $this->settings->allow_internal_idp, -
daggerhart-openid-connect-generic/tags/3.11.3/includes/openid-connect-generic-client.php
r3459991 r3460486 102 102 103 103 /** 104 * The issuer URL for JWT validation. 105 * 106 * @see OpenID_Connect_Generic_Option_Settings::issuer 107 * 108 * @var string 109 */ 110 private $issuer; 111 112 /** 104 113 * The JWKS cache TTL in seconds. 105 114 * … … 147 156 * @param string $acr_values @see OpenID_Connect_Generic_Option_Settings::acr_values for description. 148 157 * @param string $endpoint_jwks @see OpenID_Connect_Generic_Option_Settings::endpoint_jwks for description. 158 * @param string $issuer @see OpenID_Connect_Generic_Option_Settings::issuer for description. 149 159 * @param int $jwks_cache_ttl @see OpenID_Connect_Generic_Option_Settings::jwks_cache_ttl for description. 150 160 * @param int $state_time_limit @see OpenID_Connect_Generic_Option_Settings::state_time_limit for description. … … 152 162 * @param OpenID_Connect_Generic_Option_Logger $logger The plugin logging object instance. 153 163 */ 154 public function __construct( $client_id, $client_secret, $scope, $endpoint_login, $endpoint_userinfo, $endpoint_token, $redirect_uri, $acr_values, $endpoint_jwks, $ jwks_cache_ttl, $state_time_limit, $allow_internal_idp, $logger ) {164 public function __construct( $client_id, $client_secret, $scope, $endpoint_login, $endpoint_userinfo, $endpoint_token, $redirect_uri, $acr_values, $endpoint_jwks, $issuer, $jwks_cache_ttl, $state_time_limit, $allow_internal_idp, $logger ) { 155 165 $this->client_id = $client_id; 156 166 $this->client_secret = $client_secret; … … 162 172 $this->acr_values = $acr_values; 163 173 $this->endpoint_jwks = $endpoint_jwks; 174 $this->issuer = $issuer; 164 175 $this->jwks_cache_ttl = $jwks_cache_ttl; 165 176 $this->state_time_limit = $state_time_limit; … … 544 555 // Check if JWKS endpoint is configured for JWT signature verification. 545 556 if ( ! empty( $this->endpoint_jwks ) ) { 557 // Use configured issuer if provided, otherwise derive from endpoint_login. 558 $issuer = ! empty( $this->issuer ) 559 ? $this->issuer 560 : $this->get_issuer_from_endpoint( $this->endpoint_login ); 561 546 562 // Use JWT validator for secure signature verification. 547 563 $jwt_validator = new OpenID_Connect_Generic_JWT_Validator( 548 564 $this->endpoint_jwks, 549 565 $this->client_id, 550 $ this->get_issuer_from_endpoint( $this->endpoint_login ),566 $issuer, 551 567 $this->jwks_cache_ttl, 552 568 $this->allow_internal_idp, … … 672 688 } 673 689 674 // Validate issuer claim if endpoint_login is configured. 675 if ( ! empty( $this->endpoint_login ) ) { 690 // Validate issuer claim if configured or endpoint_login is available. 691 $expected_issuer = ! empty( $this->issuer ) ? 692 $this->issuer : 693 ( ! empty( $this->endpoint_login ) ? $this->get_issuer_from_endpoint( $this->endpoint_login ) : '' ); 694 695 if ( ! empty( $expected_issuer ) ) { 676 696 if ( ! isset( $id_token_claim['iss'] ) ) { 677 697 return new WP_Error( 'missing-iss', __( 'Token missing issuer claim.', 'daggerhart-openid-connect-generic' ), $id_token_claim ); 678 698 } 679 699 680 // Extract expected issuer from endpoint_login (base URL).681 $expected_issuer = $this->get_issuer_from_endpoint( $this->endpoint_login );682 683 700 if ( rtrim( $id_token_claim['iss'], '/' ) !== rtrim( $expected_issuer, '/' ) ) { 701 $this->logger->log( 702 sprintf( 703 'Issuer mismatch - Expected: "%s", Received: "%s". Configure the correct issuer in Settings > OpenID Connect Client > Issuer field, or via the OIDC_ISSUER constant.', 704 $expected_issuer, 705 $id_token_claim['iss'] 706 ), 707 'issuer-mismatch' 708 ); 684 709 return new WP_Error( 685 710 'invalid-iss', -
daggerhart-openid-connect-generic/tags/3.11.3/includes/openid-connect-generic-jwt-validator.php
r3460363 r3460486 229 229 230 230 if ( rtrim( $decoded_jwt->iss, '/' ) !== rtrim( $this->issuer, '/' ) ) { 231 $this->logger->log( 232 sprintf( 233 'Issuer mismatch - Expected: "%s", Received: "%s". Configure the correct issuer in Settings > OpenID Connect Client > Issuer field, or via the OIDC_ISSUER constant.', 234 $this->issuer, 235 $decoded_jwt->iss 236 ), 237 'issuer-mismatch' 238 ); 231 239 return new WP_Error( 232 240 'invalid-iss', -
daggerhart-openid-connect-generic/tags/3.11.3/includes/openid-connect-generic-option-settings.php
r3459957 r3460486 36 36 * @property string $endpoint_end_session The IDP logout endpoint URL. 37 37 * @property string $endpoint_jwks The IDP JWKS endpoint URL for JWT signature verification. 38 * @property string $issuer The IDP issuer URL for JWT validation (optional - derived from endpoint_login if not set). 38 39 * @property int $jwks_cache_ttl The JWKS cache TTL in seconds. 39 40 * @property string $acr_values The Authentication contract as defined on the IDP. … … 99 100 'endpoint_userinfo' => 'OIDC_ENDPOINT_USERINFO_URL', 100 101 'endpoint_jwks' => 'OIDC_ENDPOINT_JWKS_URL', 102 'issuer' => 'OIDC_ISSUER', 101 103 'login_type' => 'OIDC_LOGIN_TYPE', 102 104 'scope' => 'OIDC_CLIENT_SCOPE', -
daggerhart-openid-connect-generic/tags/3.11.3/includes/openid-connect-generic-settings-page.php
r3459957 r3460486 309 309 'section' => 'client_settings', 310 310 ), 311 'issuer' => array( 312 'title' => __( 'Issuer', 'daggerhart-openid-connect-generic' ), 313 'description' => __( 'Identity provider issuer URL for JWT validation. If not set, the issuer will be automatically derived from the Login Endpoint URL. Only configure this if your IDP uses a different issuer than the base URL of the login endpoint.', 'daggerhart-openid-connect-generic' ), 314 'example' => 'https://example.com', 315 'type' => 'text', 316 'disabled' => defined( 'OIDC_ISSUER' ), 317 'section' => 'client_settings', 318 ), 311 319 'jwks_cache_ttl' => array( 312 320 'title' => __( 'JWKS Cache TTL (seconds)', 'daggerhart-openid-connect-generic' ), … … 777 785 'userinfo_endpoint' => 'endpoint_userinfo', 778 786 'jwks_uri' => 'endpoint_jwks', 787 'issuer' => 'issuer', 779 788 'end_session_endpoint' => 'endpoint_end_session', 780 789 ); -
daggerhart-openid-connect-generic/tags/3.11.3/languages/openid-connect-generic.pot
r3460363 r3460486 3 3 msgid "" 4 4 msgstr "" 5 "Project-Id-Version: OpenID Connect Generic 3.11. 2\n"5 "Project-Id-Version: OpenID Connect Generic 3.11.3\n" 6 6 "Report-Msgid-Bugs-To: " 7 7 "https://github.com/oidc-wp/openid-connect-generic/issues\n" 8 "POT-Creation-Date: 2026-02-1 2 21:27:15+00:00\n"8 "POT-Creation-Date: 2026-02-13 04:19:17+00:00\n" 9 9 "MIME-Version: 1.0\n" 10 10 "Content-Type: text/plain; charset=utf-8\n" … … 48 48 msgstr "" 49 49 50 #: includes/openid-connect-generic-client-wrapper.php:9 8750 #: includes/openid-connect-generic-client-wrapper.php:992 51 51 msgid "User claim incomplete." 52 52 msgstr "" 53 53 54 #: includes/openid-connect-generic-client-wrapper.php:109 054 #: includes/openid-connect-generic-client-wrapper.php:1095 55 55 msgid "Bad user claim result." 56 56 msgstr "" 57 57 58 #: includes/openid-connect-generic-client-wrapper.php:11 5658 #: includes/openid-connect-generic-client-wrapper.php:1161 59 59 msgid "Can not authorize." 60 60 msgstr "" 61 61 62 #: includes/openid-connect-generic-client-wrapper.php:11 8562 #: includes/openid-connect-generic-client-wrapper.php:1190 63 63 msgid "Failed user creation." 64 64 msgstr "" 65 65 66 #: includes/openid-connect-generic-client.php:2 5966 #: includes/openid-connect-generic-client.php:270 67 67 msgid "Missing state." 68 68 msgstr "" 69 69 70 #: includes/openid-connect-generic-client.php:2 6370 #: includes/openid-connect-generic-client.php:274 71 71 msgid "Invalid state." 72 72 msgstr "" 73 73 74 #: includes/openid-connect-generic-client.php:2 7874 #: includes/openid-connect-generic-client.php:289 75 75 msgid "Missing authentication code." 76 76 msgstr "" 77 77 78 #: includes/openid-connect-generic-client.php:3 2378 #: includes/openid-connect-generic-client.php:334 79 79 msgid "Request for authentication token failed." 80 80 msgstr "" 81 81 82 #: includes/openid-connect-generic-client.php:3 5682 #: includes/openid-connect-generic-client.php:367 83 83 msgid "Refresh token failed." 84 84 msgstr "" 85 85 86 #: includes/openid-connect-generic-client.php:3 7186 #: includes/openid-connect-generic-client.php:382 87 87 msgid "Missing token body." 88 88 msgstr "" 89 89 90 #: includes/openid-connect-generic-client.php:3 7990 #: includes/openid-connect-generic-client.php:390 91 91 msgid "Invalid token." 92 92 msgstr "" 93 93 94 #: includes/openid-connect-generic-client.php:4 4094 #: includes/openid-connect-generic-client.php:451 95 95 msgid "Request for userinfo failed." 96 96 msgstr "" 97 97 98 #: includes/openid-connect-generic-client.php:5 0498 #: includes/openid-connect-generic-client.php:515 99 99 msgid "Missing authentication state." 100 100 msgstr "" 101 101 102 #: includes/openid-connect-generic-client.php:5 41102 #: includes/openid-connect-generic-client.php:552 103 103 msgid "No identity token." 104 104 msgstr "" 105 105 106 #: includes/openid-connect-generic-client.php:5 76106 #: includes/openid-connect-generic-client.php:592 107 107 msgid "Missing identity token." 108 108 msgstr "" 109 109 110 #: includes/openid-connect-generic-client.php:6 35110 #: includes/openid-connect-generic-client.php:651 111 111 msgid "Bad ID token claim." 112 112 msgstr "" 113 113 114 #: includes/openid-connect-generic-client.php:6 40114 #: includes/openid-connect-generic-client.php:656 115 115 msgid "No subject identity." 116 116 msgstr "" 117 117 118 #: includes/openid-connect-generic-client.php:6 45118 #: includes/openid-connect-generic-client.php:661 119 119 #: includes/openid-connect-generic-jwt-validator.php:184 120 120 msgid "Token missing expiration claim." 121 121 msgstr "" 122 122 123 #: includes/openid-connect-generic-client.php:6 48123 #: includes/openid-connect-generic-client.php:664 124 124 msgid "Token has expired." 125 125 msgstr "" 126 126 127 #: includes/openid-connect-generic-client.php:6 53127 #: includes/openid-connect-generic-client.php:669 128 128 #: includes/openid-connect-generic-jwt-validator.php:192 129 129 msgid "Token missing issued at claim." 130 130 msgstr "" 131 131 132 #: includes/openid-connect-generic-client.php:6 58132 #: includes/openid-connect-generic-client.php:674 133 133 #: includes/openid-connect-generic-jwt-validator.php:200 134 134 msgid "Token missing audience claim." 135 135 msgstr "" 136 136 137 #: includes/openid-connect-generic-client.php:6 71137 #: includes/openid-connect-generic-client.php:687 138 138 #: includes/openid-connect-generic-jwt-validator.php:217 139 139 msgid "Token audience does not match client." 140 140 msgstr "" 141 141 142 #: includes/openid-connect-generic-client.php:6 77142 #: includes/openid-connect-generic-client.php:697 143 143 #: includes/openid-connect-generic-jwt-validator.php:226 144 144 msgid "Token missing issuer claim." 145 145 msgstr "" 146 146 147 #: includes/openid-connect-generic-client.php: 687148 #: includes/openid-connect-generic-jwt-validator.php:2 33147 #: includes/openid-connect-generic-client.php:712 148 #: includes/openid-connect-generic-jwt-validator.php:241 149 149 msgid "Token issuer does not match expected issuer." 150 150 msgstr "" 151 151 152 #: includes/openid-connect-generic-client.php: 697152 #: includes/openid-connect-generic-client.php:722 153 153 msgid "No matching acr values." 154 154 msgstr "" 155 155 156 #: includes/openid-connect-generic-client.php:7 17156 #: includes/openid-connect-generic-client.php:742 157 157 msgid "Bad user claim." 158 158 msgstr "" 159 159 160 #: includes/openid-connect-generic-client.php:7 37160 #: includes/openid-connect-generic-client.php:762 161 161 msgid "Invalid user claim." 162 162 msgstr "" 163 163 164 #: includes/openid-connect-generic-client.php:7 42164 #: includes/openid-connect-generic-client.php:767 165 165 msgid "Error from the IDP." 166 166 msgstr "" 167 167 168 #: includes/openid-connect-generic-client.php:7 51168 #: includes/openid-connect-generic-client.php:776 169 169 msgid "Incorrect user claim." 170 170 msgstr "" 171 171 172 #: includes/openid-connect-generic-client.php:7 58172 #: includes/openid-connect-generic-client.php:783 173 173 msgid "Unauthorized access." 174 174 msgstr "" … … 191 191 msgstr "" 192 192 193 #: includes/openid-connect-generic-jwt-validator.php:3 07193 #: includes/openid-connect-generic-jwt-validator.php:315 194 194 msgid "JWKS URI not configured. JWT signature verification requires JWKS endpoint." 195 195 msgstr "" 196 196 197 #: includes/openid-connect-generic-jwt-validator.php:3 38197 #: includes/openid-connect-generic-jwt-validator.php:346 198 198 #. translators: %s is the error message 199 199 msgid "JWT verification failed: %s" … … 358 358 359 359 #: includes/openid-connect-generic-settings-page.php:312 360 msgid "Issuer" 361 msgstr "" 362 363 #: includes/openid-connect-generic-settings-page.php:313 364 msgid "" 365 "Identity provider issuer URL for JWT validation. If not set, the issuer " 366 "will be automatically derived from the Login Endpoint URL. Only configure " 367 "this if your IDP uses a different issuer than the base URL of the login " 368 "endpoint." 369 msgstr "" 370 371 #: includes/openid-connect-generic-settings-page.php:320 360 372 msgid "JWKS Cache TTL (seconds)" 361 373 msgstr "" 362 374 363 #: includes/openid-connect-generic-settings-page.php:3 13375 #: includes/openid-connect-generic-settings-page.php:321 364 376 msgid "Time in seconds to cache JWKS keys. Default: 3600 (1 hour)" 365 377 msgstr "" 366 378 367 #: includes/openid-connect-generic-settings-page.php:3 19379 #: includes/openid-connect-generic-settings-page.php:327 368 380 msgid "ACR values" 369 381 msgstr "" 370 382 371 #: includes/openid-connect-generic-settings-page.php:32 0383 #: includes/openid-connect-generic-settings-page.php:328 372 384 msgid "Use a specific defined authentication contract from the IDP - optional." 373 385 msgstr "" 374 386 375 #: includes/openid-connect-generic-settings-page.php:3 26387 #: includes/openid-connect-generic-settings-page.php:334 376 388 msgid "Identity Key" 377 389 msgstr "" 378 390 379 #: includes/openid-connect-generic-settings-page.php:3 27391 #: includes/openid-connect-generic-settings-page.php:335 380 392 msgid "" 381 393 "Where in the user claim array to find the user's identification data. " … … 384 396 msgstr "" 385 397 386 #: includes/openid-connect-generic-settings-page.php:3 33398 #: includes/openid-connect-generic-settings-page.php:341 387 399 msgid "HTTP Request Timeout" 388 400 msgstr "" 389 401 390 #: includes/openid-connect-generic-settings-page.php:3 34402 #: includes/openid-connect-generic-settings-page.php:342 391 403 msgid "Set the timeout for requests made to the IDP. Default value is 5." 392 404 msgstr "" 393 405 394 #: includes/openid-connect-generic-settings-page.php:34 0406 #: includes/openid-connect-generic-settings-page.php:348 395 407 msgid "Enforce Privacy" 396 408 msgstr "" 397 409 398 #: includes/openid-connect-generic-settings-page.php:34 1410 #: includes/openid-connect-generic-settings-page.php:349 399 411 msgid "Require users be logged in to see the site." 400 412 msgstr "" 401 413 402 #: includes/openid-connect-generic-settings-page.php:3 47414 #: includes/openid-connect-generic-settings-page.php:355 403 415 msgid "Alternate Redirect URI" 404 416 msgstr "" 405 417 406 #: includes/openid-connect-generic-settings-page.php:3 48418 #: includes/openid-connect-generic-settings-page.php:356 407 419 msgid "" 408 420 "Provide an alternative redirect route. Useful if your server is causing " … … 412 424 msgstr "" 413 425 414 #: includes/openid-connect-generic-settings-page.php:3 53426 #: includes/openid-connect-generic-settings-page.php:361 415 427 msgid "Nickname Key" 416 428 msgstr "" 417 429 418 #: includes/openid-connect-generic-settings-page.php:3 54430 #: includes/openid-connect-generic-settings-page.php:362 419 431 msgid "" 420 432 "Where in the user claim array to find the user's nickname. Possible " … … 422 434 msgstr "" 423 435 424 #: includes/openid-connect-generic-settings-page.php:36 0436 #: includes/openid-connect-generic-settings-page.php:368 425 437 msgid "Email Formatting" 426 438 msgstr "" 427 439 428 #: includes/openid-connect-generic-settings-page.php:36 1440 #: includes/openid-connect-generic-settings-page.php:369 429 441 msgid "" 430 442 "String from which the user's email address is built. Specify \"{email}\" as " … … 432 444 msgstr "" 433 445 434 #: includes/openid-connect-generic-settings-page.php:3 67446 #: includes/openid-connect-generic-settings-page.php:375 435 447 msgid "Display Name Formatting" 436 448 msgstr "" 437 449 438 #: includes/openid-connect-generic-settings-page.php:3 68450 #: includes/openid-connect-generic-settings-page.php:376 439 451 msgid "String from which the user's display name is built." 440 452 msgstr "" 441 453 442 #: includes/openid-connect-generic-settings-page.php:3 74454 #: includes/openid-connect-generic-settings-page.php:382 443 455 msgid "Identify with User Name" 444 456 msgstr "" 445 457 446 #: includes/openid-connect-generic-settings-page.php:3 75458 #: includes/openid-connect-generic-settings-page.php:383 447 459 msgid "" 448 460 "If checked, the user's identity will be determined by the user name instead " … … 450 462 msgstr "" 451 463 452 #: includes/openid-connect-generic-settings-page.php:38 0464 #: includes/openid-connect-generic-settings-page.php:388 453 465 msgid "State time limit" 454 466 msgstr "" 455 467 456 #: includes/openid-connect-generic-settings-page.php:38 1468 #: includes/openid-connect-generic-settings-page.php:389 457 469 msgid "State valid time in seconds. Defaults to 180" 458 470 msgstr "" 459 471 460 #: includes/openid-connect-generic-settings-page.php:3 86472 #: includes/openid-connect-generic-settings-page.php:394 461 473 msgid "Enable Refresh Token" 462 474 msgstr "" 463 475 464 #: includes/openid-connect-generic-settings-page.php:3 87476 #: includes/openid-connect-generic-settings-page.php:395 465 477 msgid "" 466 478 "If checked, support refresh tokens used to obtain access tokens from " … … 468 480 msgstr "" 469 481 470 #: includes/openid-connect-generic-settings-page.php: 392482 #: includes/openid-connect-generic-settings-page.php:400 471 483 msgid "Disable SSL Verify" 472 484 msgstr "" 473 485 474 #: includes/openid-connect-generic-settings-page.php: 394486 #: includes/openid-connect-generic-settings-page.php:402 475 487 #. translators: %1$s HTML tags for layout/styles (strong tag start with warning 476 488 #. class), %2$s closing HTML tag for styles. … … 482 494 msgstr "" 483 495 484 #: includes/openid-connect-generic-settings-page.php: 399496 #: includes/openid-connect-generic-settings-page.php:407 485 497 msgid "Allow Internal IDP" 486 498 msgstr "" 487 499 488 #: includes/openid-connect-generic-settings-page.php:40 1500 #: includes/openid-connect-generic-settings-page.php:409 489 501 #. translators: %1$s HTML tags for layout/styles (strong tag start with warning 490 502 #. class), %2$s closing HTML tag for styles. … … 496 508 msgstr "" 497 509 498 #: includes/openid-connect-generic-settings-page.php:4 06510 #: includes/openid-connect-generic-settings-page.php:414 499 511 msgid "Link Existing Users" 500 512 msgstr "" 501 513 502 #: includes/openid-connect-generic-settings-page.php:4 07514 #: includes/openid-connect-generic-settings-page.php:415 503 515 msgid "" 504 516 "If a WordPress account already exists with the same identity as a " … … 507 519 msgstr "" 508 520 509 #: includes/openid-connect-generic-settings-page.php:4 13521 #: includes/openid-connect-generic-settings-page.php:421 510 522 msgid "Create user if does not exist" 511 523 msgstr "" 512 524 513 #: includes/openid-connect-generic-settings-page.php:4 14525 #: includes/openid-connect-generic-settings-page.php:422 514 526 msgid "" 515 527 "If the user identity is not linked to an existing WordPress user, it is " … … 519 531 msgstr "" 520 532 521 #: includes/openid-connect-generic-settings-page.php:42 0533 #: includes/openid-connect-generic-settings-page.php:428 522 534 msgid "Redirect Back to Origin Page" 523 535 msgstr "" 524 536 525 #: includes/openid-connect-generic-settings-page.php:42 1537 #: includes/openid-connect-generic-settings-page.php:429 526 538 msgid "" 527 539 "After a successful OpenID Connect authentication, this will redirect the " … … 534 546 msgstr "" 535 547 536 #: includes/openid-connect-generic-settings-page.php:4 27548 #: includes/openid-connect-generic-settings-page.php:435 537 549 msgid "Redirect to the login screen when session is expired" 538 550 msgstr "" 539 551 540 #: includes/openid-connect-generic-settings-page.php:4 28552 #: includes/openid-connect-generic-settings-page.php:436 541 553 msgid "" 542 554 "When enabled, this will automatically redirect the user back to the " … … 544 556 msgstr "" 545 557 546 #: includes/openid-connect-generic-settings-page.php:4 34558 #: includes/openid-connect-generic-settings-page.php:442 547 559 msgid "Enable Logging" 548 560 msgstr "" 549 561 550 #: includes/openid-connect-generic-settings-page.php:4 35562 #: includes/openid-connect-generic-settings-page.php:443 551 563 msgid "Very simple log messages for debugging purposes." 552 564 msgstr "" 553 565 554 #: includes/openid-connect-generic-settings-page.php:44 1566 #: includes/openid-connect-generic-settings-page.php:449 555 567 msgid "Log Limit" 556 568 msgstr "" 557 569 558 #: includes/openid-connect-generic-settings-page.php:4 42570 #: includes/openid-connect-generic-settings-page.php:450 559 571 msgid "" 560 572 "Number of items to keep in the log. These logs are stored as an option in " … … 562 574 msgstr "" 563 575 564 #: includes/openid-connect-generic-settings-page.php:5 07576 #: includes/openid-connect-generic-settings-page.php:515 565 577 msgid "Notes" 566 578 msgstr "" 567 579 568 #: includes/openid-connect-generic-settings-page.php:51 0580 #: includes/openid-connect-generic-settings-page.php:518 569 581 msgid "Redirect URI" 570 582 msgstr "" 571 583 572 #: includes/openid-connect-generic-settings-page.php:5 14584 #: includes/openid-connect-generic-settings-page.php:522 573 585 msgid "Login Button Shortcode" 574 586 msgstr "" 575 587 576 #: includes/openid-connect-generic-settings-page.php:5 18588 #: includes/openid-connect-generic-settings-page.php:526 577 589 msgid "Authentication URL Shortcode" 578 590 msgstr "" 579 591 580 #: includes/openid-connect-generic-settings-page.php:5 23592 #: includes/openid-connect-generic-settings-page.php:531 581 593 msgid "Logs" 582 594 msgstr "" 583 595 584 #: includes/openid-connect-generic-settings-page.php:6 12596 #: includes/openid-connect-generic-settings-page.php:620 585 597 msgid "Example" 586 598 msgstr "" 587 599 588 #: includes/openid-connect-generic-settings-page.php:6 25600 #: includes/openid-connect-generic-settings-page.php:633 589 601 msgid "Enter your OpenID Connect identity provider settings." 590 602 msgstr "" 591 603 592 #: includes/openid-connect-generic-settings-page.php:6 34604 #: includes/openid-connect-generic-settings-page.php:642 593 605 msgid "Modify the interaction between OpenID Connect and WordPress users." 594 606 msgstr "" 595 607 596 #: includes/openid-connect-generic-settings-page.php:6 43608 #: includes/openid-connect-generic-settings-page.php:651 597 609 msgid "Control the authorization mechanics of the site." 598 610 msgstr "" 599 611 600 #: includes/openid-connect-generic-settings-page.php:6 52612 #: includes/openid-connect-generic-settings-page.php:660 601 613 msgid "Log information about login attempts through OpenID Connect Generic." 602 614 msgstr "" 603 615 604 #: includes/openid-connect-generic-settings-page.php:6 67616 #: includes/openid-connect-generic-settings-page.php:675 605 617 msgid "Please enter a discovery URL." 606 618 msgstr "" 607 619 608 #: includes/openid-connect-generic-settings-page.php:6 76620 #: includes/openid-connect-generic-settings-page.php:684 609 621 msgid "Invalid discovery URL format." 610 622 msgstr "" 611 623 612 #: includes/openid-connect-generic-settings-page.php:6 87624 #: includes/openid-connect-generic-settings-page.php:695 613 625 msgid "Discovery URL must use HTTPS in production environments." 614 626 msgstr "" 615 627 616 #: includes/openid-connect-generic-settings-page.php:7 07628 #: includes/openid-connect-generic-settings-page.php:715 617 629 #. translators: %s: error message 618 630 msgid "Failed to fetch discovery document: %s" 619 631 msgstr "" 620 632 621 #: includes/openid-connect-generic-settings-page.php:7 19633 #: includes/openid-connect-generic-settings-page.php:727 622 634 #. translators: %d: HTTP status code 623 635 msgid "Discovery document request returned HTTP %d." 624 636 msgstr "" 625 637 626 #: includes/openid-connect-generic-settings-page.php:7 32638 #: includes/openid-connect-generic-settings-page.php:740 627 639 msgid "Discovery document is not valid JSON." 628 640 msgstr "" 629 641 630 #: includes/openid-connect-generic-settings-page.php:75 1642 #: includes/openid-connect-generic-settings-page.php:759 631 643 #. translators: %s: comma-separated list of missing fields 632 644 msgid "Discovery document is missing required fields: %s" 633 645 msgstr "" 634 646 635 #: includes/openid-connect-generic-settings-page.php:8 15647 #: includes/openid-connect-generic-settings-page.php:824 636 648 msgid "Security check failed. Please try again." 637 649 msgstr "" 638 650 639 #: includes/openid-connect-generic-settings-page.php:8 59651 #: includes/openid-connect-generic-settings-page.php:868 640 652 #. translators: %d: number of fields populated 641 653 msgid "" … … 648 660 msgstr[1] "" 649 661 650 #: includes/openid-connect-generic-settings-page.php:8 86662 #: includes/openid-connect-generic-settings-page.php:895 651 663 msgid "Quick Setup: Import from Discovery Document" 652 664 msgstr "" 653 665 654 #: includes/openid-connect-generic-settings-page.php:89 0666 #: includes/openid-connect-generic-settings-page.php:899 655 667 msgid "" 656 668 "Auto-populate endpoint settings from your identity provider's OpenID " … … 659 671 msgstr "" 660 672 661 #: includes/openid-connect-generic-settings-page.php: 898673 #: includes/openid-connect-generic-settings-page.php:907 662 674 msgid "Discovery URL" 663 675 msgstr "" 664 676 665 #: includes/openid-connect-generic-settings-page.php:91 0677 #: includes/openid-connect-generic-settings-page.php:919 666 678 msgid "Enter your identity provider's OpenID Connect discovery endpoint URL." 667 679 msgstr "" 668 680 669 #: includes/openid-connect-generic-settings-page.php:9 12681 #: includes/openid-connect-generic-settings-page.php:921 670 682 msgid "Examples:" 671 683 msgstr "" 672 684 673 #: includes/openid-connect-generic-settings-page.php:9 23685 #: includes/openid-connect-generic-settings-page.php:932 674 686 msgid "Load Configuration" 675 687 msgstr "" 676 688 677 #: openid-connect-generic.php:25 1689 #: openid-connect-generic.php:252 678 690 msgid "Private site" 679 691 msgstr "" 680 692 681 #: openid-connect-generic.php:28 1693 #: openid-connect-generic.php:282 682 694 msgid "OpenID Connect Generic - Security Configuration Required" 683 695 msgstr "" 684 696 685 #: openid-connect-generic.php:28 8697 #: openid-connect-generic.php:289 686 698 #. translators: %s is a link to the settings page 687 699 msgid "" … … 691 703 msgstr "" 692 704 693 #: openid-connect-generic.php:29 5705 #: openid-connect-generic.php:296 694 706 msgid "" 695 707 "The current insecure fallback will be removed in version 3.12.0. After that " … … 697 709 msgstr "" 698 710 699 #: openid-connect-generic.php:29 8711 #: openid-connect-generic.php:299 700 712 msgid "Common JWKS endpoints:" 701 713 msgstr "" -
daggerhart-openid-connect-generic/tags/3.11.3/openid-connect-generic.php
r3460363 r3460486 17 17 * Plugin URI: https://github.com/oidc-wp/openid-connect-generic 18 18 * Description: Connect to an OpenID Connect identity provider using Authorization Code Flow. 19 * Version: 3.11. 219 * Version: 3.11.3 20 20 * Requires at least: 5.0 21 21 * Requires PHP: 7.4 … … 94 94 * @var string 95 95 */ 96 const VERSION = '3.11. 2';96 const VERSION = '3.11.3'; 97 97 98 98 /** … … 160 160 $this->settings->acr_values, 161 161 $this->settings->endpoint_jwks, 162 $this->settings->issuer ?? '', 162 163 $this->settings->jwks_cache_ttl, 163 164 $this->get_state_time_limit( $this->settings ), -
daggerhart-openid-connect-generic/tags/3.11.3/readme.txt
r3460363 r3460486 4 4 Requires at least: 5.0 5 5 Tested up to: 6.9.0 6 Stable tag: 3.11. 26 Stable tag: 3.11.3 7 7 Requires PHP: 7.4 8 8 License: GPLv2 or later … … 50 50 == Upgrade Notice == 51 51 52 = 3.11. 2=52 = 3.11.3 = 53 53 54 54 SECURITY UPDATE: 3.11.x branch - Fixes authentication vulnerabilities including JWT signature bypass and SSRF protection. Update immediately and configure JWKS endpoint in settings. 55 55 56 56 == Changelog == 57 58 = 3.11.3 = 59 60 * Feature/improvement: Added configurable issuer setting for JWT validation. 57 61 58 62 = 3.11.2 = -
daggerhart-openid-connect-generic/tags/3.11.3/vendor/composer/installed.php
r3460363 r3460486 2 2 'root' => array( 3 3 'name' => 'daggerhart/openid-connect-generic', 4 'pretty_version' => '3.11. 2',5 'version' => '3.11. 2.0',6 'reference' => ' 1810fffbabb261cd81108575ccfd186bd2495d86',4 'pretty_version' => '3.11.3', 5 'version' => '3.11.3.0', 6 'reference' => '0ef442c0f61bda837bddacec37b96035176bee27', 7 7 'type' => 'wordpress-plugin', 8 8 'install_path' => __DIR__ . '/../../', … … 21 21 ), 22 22 'daggerhart/openid-connect-generic' => array( 23 'pretty_version' => '3.11. 2',24 'version' => '3.11. 2.0',25 'reference' => ' 1810fffbabb261cd81108575ccfd186bd2495d86',23 'pretty_version' => '3.11.3', 24 'version' => '3.11.3.0', 25 'reference' => '0ef442c0f61bda837bddacec37b96035176bee27', 26 26 'type' => 'wordpress-plugin', 27 27 'install_path' => __DIR__ . '/../../', -
daggerhart-openid-connect-generic/trunk/includes/openid-connect-generic-client-wrapper.php
r3459957 r3460486 915 915 // Check if JWKS endpoint is configured for JWT signature verification. 916 916 if ( ! empty( $this->settings->endpoint_jwks ) ) { 917 // Use configured issuer if provided, otherwise derive from endpoint_login. 918 $issuer = ! empty( $this->settings->issuer ) ? 919 $this->settings->issuer : 920 ( ! empty( $this->settings->endpoint_login ) ? $this->client->get_issuer_from_endpoint( $this->settings->endpoint_login ) : '' ); 921 917 922 // Use JWT validator for secure signature verification. 918 923 $jwt_validator = new OpenID_Connect_Generic_JWT_Validator( 919 924 $this->settings->endpoint_jwks, 920 925 $this->settings->client_id, 921 $ this->client->get_issuer_from_endpoint( $this->settings->endpoint_login ),926 $issuer, 922 927 $this->settings->jwks_cache_ttl, 923 928 $this->settings->allow_internal_idp, -
daggerhart-openid-connect-generic/trunk/includes/openid-connect-generic-client.php
r3459991 r3460486 102 102 103 103 /** 104 * The issuer URL for JWT validation. 105 * 106 * @see OpenID_Connect_Generic_Option_Settings::issuer 107 * 108 * @var string 109 */ 110 private $issuer; 111 112 /** 104 113 * The JWKS cache TTL in seconds. 105 114 * … … 147 156 * @param string $acr_values @see OpenID_Connect_Generic_Option_Settings::acr_values for description. 148 157 * @param string $endpoint_jwks @see OpenID_Connect_Generic_Option_Settings::endpoint_jwks for description. 158 * @param string $issuer @see OpenID_Connect_Generic_Option_Settings::issuer for description. 149 159 * @param int $jwks_cache_ttl @see OpenID_Connect_Generic_Option_Settings::jwks_cache_ttl for description. 150 160 * @param int $state_time_limit @see OpenID_Connect_Generic_Option_Settings::state_time_limit for description. … … 152 162 * @param OpenID_Connect_Generic_Option_Logger $logger The plugin logging object instance. 153 163 */ 154 public function __construct( $client_id, $client_secret, $scope, $endpoint_login, $endpoint_userinfo, $endpoint_token, $redirect_uri, $acr_values, $endpoint_jwks, $ jwks_cache_ttl, $state_time_limit, $allow_internal_idp, $logger ) {164 public function __construct( $client_id, $client_secret, $scope, $endpoint_login, $endpoint_userinfo, $endpoint_token, $redirect_uri, $acr_values, $endpoint_jwks, $issuer, $jwks_cache_ttl, $state_time_limit, $allow_internal_idp, $logger ) { 155 165 $this->client_id = $client_id; 156 166 $this->client_secret = $client_secret; … … 162 172 $this->acr_values = $acr_values; 163 173 $this->endpoint_jwks = $endpoint_jwks; 174 $this->issuer = $issuer; 164 175 $this->jwks_cache_ttl = $jwks_cache_ttl; 165 176 $this->state_time_limit = $state_time_limit; … … 544 555 // Check if JWKS endpoint is configured for JWT signature verification. 545 556 if ( ! empty( $this->endpoint_jwks ) ) { 557 // Use configured issuer if provided, otherwise derive from endpoint_login. 558 $issuer = ! empty( $this->issuer ) 559 ? $this->issuer 560 : $this->get_issuer_from_endpoint( $this->endpoint_login ); 561 546 562 // Use JWT validator for secure signature verification. 547 563 $jwt_validator = new OpenID_Connect_Generic_JWT_Validator( 548 564 $this->endpoint_jwks, 549 565 $this->client_id, 550 $ this->get_issuer_from_endpoint( $this->endpoint_login ),566 $issuer, 551 567 $this->jwks_cache_ttl, 552 568 $this->allow_internal_idp, … … 672 688 } 673 689 674 // Validate issuer claim if endpoint_login is configured. 675 if ( ! empty( $this->endpoint_login ) ) { 690 // Validate issuer claim if configured or endpoint_login is available. 691 $expected_issuer = ! empty( $this->issuer ) ? 692 $this->issuer : 693 ( ! empty( $this->endpoint_login ) ? $this->get_issuer_from_endpoint( $this->endpoint_login ) : '' ); 694 695 if ( ! empty( $expected_issuer ) ) { 676 696 if ( ! isset( $id_token_claim['iss'] ) ) { 677 697 return new WP_Error( 'missing-iss', __( 'Token missing issuer claim.', 'daggerhart-openid-connect-generic' ), $id_token_claim ); 678 698 } 679 699 680 // Extract expected issuer from endpoint_login (base URL).681 $expected_issuer = $this->get_issuer_from_endpoint( $this->endpoint_login );682 683 700 if ( rtrim( $id_token_claim['iss'], '/' ) !== rtrim( $expected_issuer, '/' ) ) { 701 $this->logger->log( 702 sprintf( 703 'Issuer mismatch - Expected: "%s", Received: "%s". Configure the correct issuer in Settings > OpenID Connect Client > Issuer field, or via the OIDC_ISSUER constant.', 704 $expected_issuer, 705 $id_token_claim['iss'] 706 ), 707 'issuer-mismatch' 708 ); 684 709 return new WP_Error( 685 710 'invalid-iss', -
daggerhart-openid-connect-generic/trunk/includes/openid-connect-generic-jwt-validator.php
r3460363 r3460486 229 229 230 230 if ( rtrim( $decoded_jwt->iss, '/' ) !== rtrim( $this->issuer, '/' ) ) { 231 $this->logger->log( 232 sprintf( 233 'Issuer mismatch - Expected: "%s", Received: "%s". Configure the correct issuer in Settings > OpenID Connect Client > Issuer field, or via the OIDC_ISSUER constant.', 234 $this->issuer, 235 $decoded_jwt->iss 236 ), 237 'issuer-mismatch' 238 ); 231 239 return new WP_Error( 232 240 'invalid-iss', -
daggerhart-openid-connect-generic/trunk/includes/openid-connect-generic-option-settings.php
r3459957 r3460486 36 36 * @property string $endpoint_end_session The IDP logout endpoint URL. 37 37 * @property string $endpoint_jwks The IDP JWKS endpoint URL for JWT signature verification. 38 * @property string $issuer The IDP issuer URL for JWT validation (optional - derived from endpoint_login if not set). 38 39 * @property int $jwks_cache_ttl The JWKS cache TTL in seconds. 39 40 * @property string $acr_values The Authentication contract as defined on the IDP. … … 99 100 'endpoint_userinfo' => 'OIDC_ENDPOINT_USERINFO_URL', 100 101 'endpoint_jwks' => 'OIDC_ENDPOINT_JWKS_URL', 102 'issuer' => 'OIDC_ISSUER', 101 103 'login_type' => 'OIDC_LOGIN_TYPE', 102 104 'scope' => 'OIDC_CLIENT_SCOPE', -
daggerhart-openid-connect-generic/trunk/includes/openid-connect-generic-settings-page.php
r3459957 r3460486 309 309 'section' => 'client_settings', 310 310 ), 311 'issuer' => array( 312 'title' => __( 'Issuer', 'daggerhart-openid-connect-generic' ), 313 'description' => __( 'Identity provider issuer URL for JWT validation. If not set, the issuer will be automatically derived from the Login Endpoint URL. Only configure this if your IDP uses a different issuer than the base URL of the login endpoint.', 'daggerhart-openid-connect-generic' ), 314 'example' => 'https://example.com', 315 'type' => 'text', 316 'disabled' => defined( 'OIDC_ISSUER' ), 317 'section' => 'client_settings', 318 ), 311 319 'jwks_cache_ttl' => array( 312 320 'title' => __( 'JWKS Cache TTL (seconds)', 'daggerhart-openid-connect-generic' ), … … 777 785 'userinfo_endpoint' => 'endpoint_userinfo', 778 786 'jwks_uri' => 'endpoint_jwks', 787 'issuer' => 'issuer', 779 788 'end_session_endpoint' => 'endpoint_end_session', 780 789 ); -
daggerhart-openid-connect-generic/trunk/languages/openid-connect-generic.pot
r3460363 r3460486 3 3 msgid "" 4 4 msgstr "" 5 "Project-Id-Version: OpenID Connect Generic 3.11. 2\n"5 "Project-Id-Version: OpenID Connect Generic 3.11.3\n" 6 6 "Report-Msgid-Bugs-To: " 7 7 "https://github.com/oidc-wp/openid-connect-generic/issues\n" 8 "POT-Creation-Date: 2026-02-1 2 21:27:15+00:00\n"8 "POT-Creation-Date: 2026-02-13 04:19:17+00:00\n" 9 9 "MIME-Version: 1.0\n" 10 10 "Content-Type: text/plain; charset=utf-8\n" … … 48 48 msgstr "" 49 49 50 #: includes/openid-connect-generic-client-wrapper.php:9 8750 #: includes/openid-connect-generic-client-wrapper.php:992 51 51 msgid "User claim incomplete." 52 52 msgstr "" 53 53 54 #: includes/openid-connect-generic-client-wrapper.php:109 054 #: includes/openid-connect-generic-client-wrapper.php:1095 55 55 msgid "Bad user claim result." 56 56 msgstr "" 57 57 58 #: includes/openid-connect-generic-client-wrapper.php:11 5658 #: includes/openid-connect-generic-client-wrapper.php:1161 59 59 msgid "Can not authorize." 60 60 msgstr "" 61 61 62 #: includes/openid-connect-generic-client-wrapper.php:11 8562 #: includes/openid-connect-generic-client-wrapper.php:1190 63 63 msgid "Failed user creation." 64 64 msgstr "" 65 65 66 #: includes/openid-connect-generic-client.php:2 5966 #: includes/openid-connect-generic-client.php:270 67 67 msgid "Missing state." 68 68 msgstr "" 69 69 70 #: includes/openid-connect-generic-client.php:2 6370 #: includes/openid-connect-generic-client.php:274 71 71 msgid "Invalid state." 72 72 msgstr "" 73 73 74 #: includes/openid-connect-generic-client.php:2 7874 #: includes/openid-connect-generic-client.php:289 75 75 msgid "Missing authentication code." 76 76 msgstr "" 77 77 78 #: includes/openid-connect-generic-client.php:3 2378 #: includes/openid-connect-generic-client.php:334 79 79 msgid "Request for authentication token failed." 80 80 msgstr "" 81 81 82 #: includes/openid-connect-generic-client.php:3 5682 #: includes/openid-connect-generic-client.php:367 83 83 msgid "Refresh token failed." 84 84 msgstr "" 85 85 86 #: includes/openid-connect-generic-client.php:3 7186 #: includes/openid-connect-generic-client.php:382 87 87 msgid "Missing token body." 88 88 msgstr "" 89 89 90 #: includes/openid-connect-generic-client.php:3 7990 #: includes/openid-connect-generic-client.php:390 91 91 msgid "Invalid token." 92 92 msgstr "" 93 93 94 #: includes/openid-connect-generic-client.php:4 4094 #: includes/openid-connect-generic-client.php:451 95 95 msgid "Request for userinfo failed." 96 96 msgstr "" 97 97 98 #: includes/openid-connect-generic-client.php:5 0498 #: includes/openid-connect-generic-client.php:515 99 99 msgid "Missing authentication state." 100 100 msgstr "" 101 101 102 #: includes/openid-connect-generic-client.php:5 41102 #: includes/openid-connect-generic-client.php:552 103 103 msgid "No identity token." 104 104 msgstr "" 105 105 106 #: includes/openid-connect-generic-client.php:5 76106 #: includes/openid-connect-generic-client.php:592 107 107 msgid "Missing identity token." 108 108 msgstr "" 109 109 110 #: includes/openid-connect-generic-client.php:6 35110 #: includes/openid-connect-generic-client.php:651 111 111 msgid "Bad ID token claim." 112 112 msgstr "" 113 113 114 #: includes/openid-connect-generic-client.php:6 40114 #: includes/openid-connect-generic-client.php:656 115 115 msgid "No subject identity." 116 116 msgstr "" 117 117 118 #: includes/openid-connect-generic-client.php:6 45118 #: includes/openid-connect-generic-client.php:661 119 119 #: includes/openid-connect-generic-jwt-validator.php:184 120 120 msgid "Token missing expiration claim." 121 121 msgstr "" 122 122 123 #: includes/openid-connect-generic-client.php:6 48123 #: includes/openid-connect-generic-client.php:664 124 124 msgid "Token has expired." 125 125 msgstr "" 126 126 127 #: includes/openid-connect-generic-client.php:6 53127 #: includes/openid-connect-generic-client.php:669 128 128 #: includes/openid-connect-generic-jwt-validator.php:192 129 129 msgid "Token missing issued at claim." 130 130 msgstr "" 131 131 132 #: includes/openid-connect-generic-client.php:6 58132 #: includes/openid-connect-generic-client.php:674 133 133 #: includes/openid-connect-generic-jwt-validator.php:200 134 134 msgid "Token missing audience claim." 135 135 msgstr "" 136 136 137 #: includes/openid-connect-generic-client.php:6 71137 #: includes/openid-connect-generic-client.php:687 138 138 #: includes/openid-connect-generic-jwt-validator.php:217 139 139 msgid "Token audience does not match client." 140 140 msgstr "" 141 141 142 #: includes/openid-connect-generic-client.php:6 77142 #: includes/openid-connect-generic-client.php:697 143 143 #: includes/openid-connect-generic-jwt-validator.php:226 144 144 msgid "Token missing issuer claim." 145 145 msgstr "" 146 146 147 #: includes/openid-connect-generic-client.php: 687148 #: includes/openid-connect-generic-jwt-validator.php:2 33147 #: includes/openid-connect-generic-client.php:712 148 #: includes/openid-connect-generic-jwt-validator.php:241 149 149 msgid "Token issuer does not match expected issuer." 150 150 msgstr "" 151 151 152 #: includes/openid-connect-generic-client.php: 697152 #: includes/openid-connect-generic-client.php:722 153 153 msgid "No matching acr values." 154 154 msgstr "" 155 155 156 #: includes/openid-connect-generic-client.php:7 17156 #: includes/openid-connect-generic-client.php:742 157 157 msgid "Bad user claim." 158 158 msgstr "" 159 159 160 #: includes/openid-connect-generic-client.php:7 37160 #: includes/openid-connect-generic-client.php:762 161 161 msgid "Invalid user claim." 162 162 msgstr "" 163 163 164 #: includes/openid-connect-generic-client.php:7 42164 #: includes/openid-connect-generic-client.php:767 165 165 msgid "Error from the IDP." 166 166 msgstr "" 167 167 168 #: includes/openid-connect-generic-client.php:7 51168 #: includes/openid-connect-generic-client.php:776 169 169 msgid "Incorrect user claim." 170 170 msgstr "" 171 171 172 #: includes/openid-connect-generic-client.php:7 58172 #: includes/openid-connect-generic-client.php:783 173 173 msgid "Unauthorized access." 174 174 msgstr "" … … 191 191 msgstr "" 192 192 193 #: includes/openid-connect-generic-jwt-validator.php:3 07193 #: includes/openid-connect-generic-jwt-validator.php:315 194 194 msgid "JWKS URI not configured. JWT signature verification requires JWKS endpoint." 195 195 msgstr "" 196 196 197 #: includes/openid-connect-generic-jwt-validator.php:3 38197 #: includes/openid-connect-generic-jwt-validator.php:346 198 198 #. translators: %s is the error message 199 199 msgid "JWT verification failed: %s" … … 358 358 359 359 #: includes/openid-connect-generic-settings-page.php:312 360 msgid "Issuer" 361 msgstr "" 362 363 #: includes/openid-connect-generic-settings-page.php:313 364 msgid "" 365 "Identity provider issuer URL for JWT validation. If not set, the issuer " 366 "will be automatically derived from the Login Endpoint URL. Only configure " 367 "this if your IDP uses a different issuer than the base URL of the login " 368 "endpoint." 369 msgstr "" 370 371 #: includes/openid-connect-generic-settings-page.php:320 360 372 msgid "JWKS Cache TTL (seconds)" 361 373 msgstr "" 362 374 363 #: includes/openid-connect-generic-settings-page.php:3 13375 #: includes/openid-connect-generic-settings-page.php:321 364 376 msgid "Time in seconds to cache JWKS keys. Default: 3600 (1 hour)" 365 377 msgstr "" 366 378 367 #: includes/openid-connect-generic-settings-page.php:3 19379 #: includes/openid-connect-generic-settings-page.php:327 368 380 msgid "ACR values" 369 381 msgstr "" 370 382 371 #: includes/openid-connect-generic-settings-page.php:32 0383 #: includes/openid-connect-generic-settings-page.php:328 372 384 msgid "Use a specific defined authentication contract from the IDP - optional." 373 385 msgstr "" 374 386 375 #: includes/openid-connect-generic-settings-page.php:3 26387 #: includes/openid-connect-generic-settings-page.php:334 376 388 msgid "Identity Key" 377 389 msgstr "" 378 390 379 #: includes/openid-connect-generic-settings-page.php:3 27391 #: includes/openid-connect-generic-settings-page.php:335 380 392 msgid "" 381 393 "Where in the user claim array to find the user's identification data. " … … 384 396 msgstr "" 385 397 386 #: includes/openid-connect-generic-settings-page.php:3 33398 #: includes/openid-connect-generic-settings-page.php:341 387 399 msgid "HTTP Request Timeout" 388 400 msgstr "" 389 401 390 #: includes/openid-connect-generic-settings-page.php:3 34402 #: includes/openid-connect-generic-settings-page.php:342 391 403 msgid "Set the timeout for requests made to the IDP. Default value is 5." 392 404 msgstr "" 393 405 394 #: includes/openid-connect-generic-settings-page.php:34 0406 #: includes/openid-connect-generic-settings-page.php:348 395 407 msgid "Enforce Privacy" 396 408 msgstr "" 397 409 398 #: includes/openid-connect-generic-settings-page.php:34 1410 #: includes/openid-connect-generic-settings-page.php:349 399 411 msgid "Require users be logged in to see the site." 400 412 msgstr "" 401 413 402 #: includes/openid-connect-generic-settings-page.php:3 47414 #: includes/openid-connect-generic-settings-page.php:355 403 415 msgid "Alternate Redirect URI" 404 416 msgstr "" 405 417 406 #: includes/openid-connect-generic-settings-page.php:3 48418 #: includes/openid-connect-generic-settings-page.php:356 407 419 msgid "" 408 420 "Provide an alternative redirect route. Useful if your server is causing " … … 412 424 msgstr "" 413 425 414 #: includes/openid-connect-generic-settings-page.php:3 53426 #: includes/openid-connect-generic-settings-page.php:361 415 427 msgid "Nickname Key" 416 428 msgstr "" 417 429 418 #: includes/openid-connect-generic-settings-page.php:3 54430 #: includes/openid-connect-generic-settings-page.php:362 419 431 msgid "" 420 432 "Where in the user claim array to find the user's nickname. Possible " … … 422 434 msgstr "" 423 435 424 #: includes/openid-connect-generic-settings-page.php:36 0436 #: includes/openid-connect-generic-settings-page.php:368 425 437 msgid "Email Formatting" 426 438 msgstr "" 427 439 428 #: includes/openid-connect-generic-settings-page.php:36 1440 #: includes/openid-connect-generic-settings-page.php:369 429 441 msgid "" 430 442 "String from which the user's email address is built. Specify \"{email}\" as " … … 432 444 msgstr "" 433 445 434 #: includes/openid-connect-generic-settings-page.php:3 67446 #: includes/openid-connect-generic-settings-page.php:375 435 447 msgid "Display Name Formatting" 436 448 msgstr "" 437 449 438 #: includes/openid-connect-generic-settings-page.php:3 68450 #: includes/openid-connect-generic-settings-page.php:376 439 451 msgid "String from which the user's display name is built." 440 452 msgstr "" 441 453 442 #: includes/openid-connect-generic-settings-page.php:3 74454 #: includes/openid-connect-generic-settings-page.php:382 443 455 msgid "Identify with User Name" 444 456 msgstr "" 445 457 446 #: includes/openid-connect-generic-settings-page.php:3 75458 #: includes/openid-connect-generic-settings-page.php:383 447 459 msgid "" 448 460 "If checked, the user's identity will be determined by the user name instead " … … 450 462 msgstr "" 451 463 452 #: includes/openid-connect-generic-settings-page.php:38 0464 #: includes/openid-connect-generic-settings-page.php:388 453 465 msgid "State time limit" 454 466 msgstr "" 455 467 456 #: includes/openid-connect-generic-settings-page.php:38 1468 #: includes/openid-connect-generic-settings-page.php:389 457 469 msgid "State valid time in seconds. Defaults to 180" 458 470 msgstr "" 459 471 460 #: includes/openid-connect-generic-settings-page.php:3 86472 #: includes/openid-connect-generic-settings-page.php:394 461 473 msgid "Enable Refresh Token" 462 474 msgstr "" 463 475 464 #: includes/openid-connect-generic-settings-page.php:3 87476 #: includes/openid-connect-generic-settings-page.php:395 465 477 msgid "" 466 478 "If checked, support refresh tokens used to obtain access tokens from " … … 468 480 msgstr "" 469 481 470 #: includes/openid-connect-generic-settings-page.php: 392482 #: includes/openid-connect-generic-settings-page.php:400 471 483 msgid "Disable SSL Verify" 472 484 msgstr "" 473 485 474 #: includes/openid-connect-generic-settings-page.php: 394486 #: includes/openid-connect-generic-settings-page.php:402 475 487 #. translators: %1$s HTML tags for layout/styles (strong tag start with warning 476 488 #. class), %2$s closing HTML tag for styles. … … 482 494 msgstr "" 483 495 484 #: includes/openid-connect-generic-settings-page.php: 399496 #: includes/openid-connect-generic-settings-page.php:407 485 497 msgid "Allow Internal IDP" 486 498 msgstr "" 487 499 488 #: includes/openid-connect-generic-settings-page.php:40 1500 #: includes/openid-connect-generic-settings-page.php:409 489 501 #. translators: %1$s HTML tags for layout/styles (strong tag start with warning 490 502 #. class), %2$s closing HTML tag for styles. … … 496 508 msgstr "" 497 509 498 #: includes/openid-connect-generic-settings-page.php:4 06510 #: includes/openid-connect-generic-settings-page.php:414 499 511 msgid "Link Existing Users" 500 512 msgstr "" 501 513 502 #: includes/openid-connect-generic-settings-page.php:4 07514 #: includes/openid-connect-generic-settings-page.php:415 503 515 msgid "" 504 516 "If a WordPress account already exists with the same identity as a " … … 507 519 msgstr "" 508 520 509 #: includes/openid-connect-generic-settings-page.php:4 13521 #: includes/openid-connect-generic-settings-page.php:421 510 522 msgid "Create user if does not exist" 511 523 msgstr "" 512 524 513 #: includes/openid-connect-generic-settings-page.php:4 14525 #: includes/openid-connect-generic-settings-page.php:422 514 526 msgid "" 515 527 "If the user identity is not linked to an existing WordPress user, it is " … … 519 531 msgstr "" 520 532 521 #: includes/openid-connect-generic-settings-page.php:42 0533 #: includes/openid-connect-generic-settings-page.php:428 522 534 msgid "Redirect Back to Origin Page" 523 535 msgstr "" 524 536 525 #: includes/openid-connect-generic-settings-page.php:42 1537 #: includes/openid-connect-generic-settings-page.php:429 526 538 msgid "" 527 539 "After a successful OpenID Connect authentication, this will redirect the " … … 534 546 msgstr "" 535 547 536 #: includes/openid-connect-generic-settings-page.php:4 27548 #: includes/openid-connect-generic-settings-page.php:435 537 549 msgid "Redirect to the login screen when session is expired" 538 550 msgstr "" 539 551 540 #: includes/openid-connect-generic-settings-page.php:4 28552 #: includes/openid-connect-generic-settings-page.php:436 541 553 msgid "" 542 554 "When enabled, this will automatically redirect the user back to the " … … 544 556 msgstr "" 545 557 546 #: includes/openid-connect-generic-settings-page.php:4 34558 #: includes/openid-connect-generic-settings-page.php:442 547 559 msgid "Enable Logging" 548 560 msgstr "" 549 561 550 #: includes/openid-connect-generic-settings-page.php:4 35562 #: includes/openid-connect-generic-settings-page.php:443 551 563 msgid "Very simple log messages for debugging purposes." 552 564 msgstr "" 553 565 554 #: includes/openid-connect-generic-settings-page.php:44 1566 #: includes/openid-connect-generic-settings-page.php:449 555 567 msgid "Log Limit" 556 568 msgstr "" 557 569 558 #: includes/openid-connect-generic-settings-page.php:4 42570 #: includes/openid-connect-generic-settings-page.php:450 559 571 msgid "" 560 572 "Number of items to keep in the log. These logs are stored as an option in " … … 562 574 msgstr "" 563 575 564 #: includes/openid-connect-generic-settings-page.php:5 07576 #: includes/openid-connect-generic-settings-page.php:515 565 577 msgid "Notes" 566 578 msgstr "" 567 579 568 #: includes/openid-connect-generic-settings-page.php:51 0580 #: includes/openid-connect-generic-settings-page.php:518 569 581 msgid "Redirect URI" 570 582 msgstr "" 571 583 572 #: includes/openid-connect-generic-settings-page.php:5 14584 #: includes/openid-connect-generic-settings-page.php:522 573 585 msgid "Login Button Shortcode" 574 586 msgstr "" 575 587 576 #: includes/openid-connect-generic-settings-page.php:5 18588 #: includes/openid-connect-generic-settings-page.php:526 577 589 msgid "Authentication URL Shortcode" 578 590 msgstr "" 579 591 580 #: includes/openid-connect-generic-settings-page.php:5 23592 #: includes/openid-connect-generic-settings-page.php:531 581 593 msgid "Logs" 582 594 msgstr "" 583 595 584 #: includes/openid-connect-generic-settings-page.php:6 12596 #: includes/openid-connect-generic-settings-page.php:620 585 597 msgid "Example" 586 598 msgstr "" 587 599 588 #: includes/openid-connect-generic-settings-page.php:6 25600 #: includes/openid-connect-generic-settings-page.php:633 589 601 msgid "Enter your OpenID Connect identity provider settings." 590 602 msgstr "" 591 603 592 #: includes/openid-connect-generic-settings-page.php:6 34604 #: includes/openid-connect-generic-settings-page.php:642 593 605 msgid "Modify the interaction between OpenID Connect and WordPress users." 594 606 msgstr "" 595 607 596 #: includes/openid-connect-generic-settings-page.php:6 43608 #: includes/openid-connect-generic-settings-page.php:651 597 609 msgid "Control the authorization mechanics of the site." 598 610 msgstr "" 599 611 600 #: includes/openid-connect-generic-settings-page.php:6 52612 #: includes/openid-connect-generic-settings-page.php:660 601 613 msgid "Log information about login attempts through OpenID Connect Generic." 602 614 msgstr "" 603 615 604 #: includes/openid-connect-generic-settings-page.php:6 67616 #: includes/openid-connect-generic-settings-page.php:675 605 617 msgid "Please enter a discovery URL." 606 618 msgstr "" 607 619 608 #: includes/openid-connect-generic-settings-page.php:6 76620 #: includes/openid-connect-generic-settings-page.php:684 609 621 msgid "Invalid discovery URL format." 610 622 msgstr "" 611 623 612 #: includes/openid-connect-generic-settings-page.php:6 87624 #: includes/openid-connect-generic-settings-page.php:695 613 625 msgid "Discovery URL must use HTTPS in production environments." 614 626 msgstr "" 615 627 616 #: includes/openid-connect-generic-settings-page.php:7 07628 #: includes/openid-connect-generic-settings-page.php:715 617 629 #. translators: %s: error message 618 630 msgid "Failed to fetch discovery document: %s" 619 631 msgstr "" 620 632 621 #: includes/openid-connect-generic-settings-page.php:7 19633 #: includes/openid-connect-generic-settings-page.php:727 622 634 #. translators: %d: HTTP status code 623 635 msgid "Discovery document request returned HTTP %d." 624 636 msgstr "" 625 637 626 #: includes/openid-connect-generic-settings-page.php:7 32638 #: includes/openid-connect-generic-settings-page.php:740 627 639 msgid "Discovery document is not valid JSON." 628 640 msgstr "" 629 641 630 #: includes/openid-connect-generic-settings-page.php:75 1642 #: includes/openid-connect-generic-settings-page.php:759 631 643 #. translators: %s: comma-separated list of missing fields 632 644 msgid "Discovery document is missing required fields: %s" 633 645 msgstr "" 634 646 635 #: includes/openid-connect-generic-settings-page.php:8 15647 #: includes/openid-connect-generic-settings-page.php:824 636 648 msgid "Security check failed. Please try again." 637 649 msgstr "" 638 650 639 #: includes/openid-connect-generic-settings-page.php:8 59651 #: includes/openid-connect-generic-settings-page.php:868 640 652 #. translators: %d: number of fields populated 641 653 msgid "" … … 648 660 msgstr[1] "" 649 661 650 #: includes/openid-connect-generic-settings-page.php:8 86662 #: includes/openid-connect-generic-settings-page.php:895 651 663 msgid "Quick Setup: Import from Discovery Document" 652 664 msgstr "" 653 665 654 #: includes/openid-connect-generic-settings-page.php:89 0666 #: includes/openid-connect-generic-settings-page.php:899 655 667 msgid "" 656 668 "Auto-populate endpoint settings from your identity provider's OpenID " … … 659 671 msgstr "" 660 672 661 #: includes/openid-connect-generic-settings-page.php: 898673 #: includes/openid-connect-generic-settings-page.php:907 662 674 msgid "Discovery URL" 663 675 msgstr "" 664 676 665 #: includes/openid-connect-generic-settings-page.php:91 0677 #: includes/openid-connect-generic-settings-page.php:919 666 678 msgid "Enter your identity provider's OpenID Connect discovery endpoint URL." 667 679 msgstr "" 668 680 669 #: includes/openid-connect-generic-settings-page.php:9 12681 #: includes/openid-connect-generic-settings-page.php:921 670 682 msgid "Examples:" 671 683 msgstr "" 672 684 673 #: includes/openid-connect-generic-settings-page.php:9 23685 #: includes/openid-connect-generic-settings-page.php:932 674 686 msgid "Load Configuration" 675 687 msgstr "" 676 688 677 #: openid-connect-generic.php:25 1689 #: openid-connect-generic.php:252 678 690 msgid "Private site" 679 691 msgstr "" 680 692 681 #: openid-connect-generic.php:28 1693 #: openid-connect-generic.php:282 682 694 msgid "OpenID Connect Generic - Security Configuration Required" 683 695 msgstr "" 684 696 685 #: openid-connect-generic.php:28 8697 #: openid-connect-generic.php:289 686 698 #. translators: %s is a link to the settings page 687 699 msgid "" … … 691 703 msgstr "" 692 704 693 #: openid-connect-generic.php:29 5705 #: openid-connect-generic.php:296 694 706 msgid "" 695 707 "The current insecure fallback will be removed in version 3.12.0. After that " … … 697 709 msgstr "" 698 710 699 #: openid-connect-generic.php:29 8711 #: openid-connect-generic.php:299 700 712 msgid "Common JWKS endpoints:" 701 713 msgstr "" -
daggerhart-openid-connect-generic/trunk/openid-connect-generic.php
r3460363 r3460486 17 17 * Plugin URI: https://github.com/oidc-wp/openid-connect-generic 18 18 * Description: Connect to an OpenID Connect identity provider using Authorization Code Flow. 19 * Version: 3.11. 219 * Version: 3.11.3 20 20 * Requires at least: 5.0 21 21 * Requires PHP: 7.4 … … 94 94 * @var string 95 95 */ 96 const VERSION = '3.11. 2';96 const VERSION = '3.11.3'; 97 97 98 98 /** … … 160 160 $this->settings->acr_values, 161 161 $this->settings->endpoint_jwks, 162 $this->settings->issuer ?? '', 162 163 $this->settings->jwks_cache_ttl, 163 164 $this->get_state_time_limit( $this->settings ), -
daggerhart-openid-connect-generic/trunk/readme.txt
r3460363 r3460486 4 4 Requires at least: 5.0 5 5 Tested up to: 6.9.0 6 Stable tag: 3.11. 26 Stable tag: 3.11.3 7 7 Requires PHP: 7.4 8 8 License: GPLv2 or later … … 50 50 == Upgrade Notice == 51 51 52 = 3.11. 2=52 = 3.11.3 = 53 53 54 54 SECURITY UPDATE: 3.11.x branch - Fixes authentication vulnerabilities including JWT signature bypass and SSRF protection. Update immediately and configure JWKS endpoint in settings. 55 55 56 56 == Changelog == 57 58 = 3.11.3 = 59 60 * Feature/improvement: Added configurable issuer setting for JWT validation. 57 61 58 62 = 3.11.2 = -
daggerhart-openid-connect-generic/trunk/vendor/composer/installed.php
r3460363 r3460486 2 2 'root' => array( 3 3 'name' => 'daggerhart/openid-connect-generic', 4 'pretty_version' => '3.11. 2',5 'version' => '3.11. 2.0',6 'reference' => ' 1810fffbabb261cd81108575ccfd186bd2495d86',4 'pretty_version' => '3.11.3', 5 'version' => '3.11.3.0', 6 'reference' => '0ef442c0f61bda837bddacec37b96035176bee27', 7 7 'type' => 'wordpress-plugin', 8 8 'install_path' => __DIR__ . '/../../', … … 21 21 ), 22 22 'daggerhart/openid-connect-generic' => array( 23 'pretty_version' => '3.11. 2',24 'version' => '3.11. 2.0',25 'reference' => ' 1810fffbabb261cd81108575ccfd186bd2495d86',23 'pretty_version' => '3.11.3', 24 'version' => '3.11.3.0', 25 'reference' => '0ef442c0f61bda837bddacec37b96035176bee27', 26 26 'type' => 'wordpress-plugin', 27 27 'install_path' => __DIR__ . '/../../',
Note: See TracChangeset
for help on using the changeset viewer.