@@ -663,6 +663,9 @@ public function refresh_user_claim( $user, $token_response ) {
663
663
/**
664
664
* Record user meta data, and provide an authorization cookie.
665
665
*
666
+ * @todo All uses of `expires_in` values to control application session
667
+ * length need to be removed as this is not in spec.
668
+ *
666
669
* @param WP_User $user The user object.
667
670
* @param array $token_response The token response.
668
671
* @param array $id_token_claim The ID token claim.
@@ -671,7 +674,7 @@ public function refresh_user_claim( $user, $token_response ) {
671
674
*
672
675
* @return void
673
676
*/
674
- public function login_user ( $ user , $ token_response , $ id_token_claim , $ user_claim , $ subject_identity ) {
677
+ public function login_user ( $ user , $ token_response , $ id_token_claim , $ user_claim , $ subject_identity ): void {
675
678
// Store the tokens for future reference.
676
679
update_user_meta ( $ user ->ID , 'openid-connect-generic-last-token-response ' , $ token_response );
677
680
update_user_meta ( $ user ->ID , 'openid-connect-generic-last-id-token-claim ' , $ id_token_claim );
@@ -716,6 +719,9 @@ public function login_user( $user, $token_response, $id_token_claim, $user_claim
716
719
* openid token refresh expiration. This is applied both when creating the session
717
720
* token as well as when wp_set_auth_cookie is called.
718
721
*
722
+ * @todo This method needs to be remove as token refresh expiration is not
723
+ * intended for application sesssion expiration.
724
+ *
719
725
* @param integer $expiration_in_seconds The expiration time in seconds.
720
726
* @return integer
721
727
*/
@@ -731,17 +737,19 @@ public function set_cookie_expiration_to_openid_token_refresh_expiration( $expir
731
737
* @param string $token The current users session token.
732
738
* @param array|WP_Error|null $token_response The authentication token response.
733
739
*/
734
- public function save_refresh_token ( $ manager , $ token , $ token_response ) {
740
+ public function save_refresh_token ( $ manager , $ token , $ token_response ): void {
735
741
if ( ! $ this ->settings ->token_refresh_enable ) {
736
742
return ;
737
743
}
738
744
$ session = $ manager ->get ( $ token );
739
745
$ now = time ();
746
+
740
747
$ session [ $ this ->cookie_token_refresh_key ] = array (
741
- 'next_access_token_refresh_time ' => $ token_response ['expires_in ' ] + $ now ,
748
+ 'next_access_token_refresh_time ' => $ now + ( $ token_response ['expires_in ' ] ?? 0 ) ,
742
749
'refresh_token ' => isset ( $ token_response ['refresh_token ' ] ) ? $ token_response ['refresh_token ' ] : false ,
743
750
'refresh_expires ' => false ,
744
751
);
752
+
745
753
if ( isset ( $ token_response ['refresh_expires_in ' ] ) ) {
746
754
$ refresh_expires_in = $ token_response ['refresh_expires_in ' ];
747
755
if ( $ refresh_expires_in > 0 ) {
0 commit comments