@@ -50,7 +50,7 @@ class RememberMeTokenIdentifier extends AbstractIdentifier
5050 /**
5151 * @inheritDoc
5252 */
53- protected function buildResolver ($ config ): OrmResolver
53+ protected function buildResolver (array | string $ config ): OrmResolver
5454 {
5555 $ instance = $ this ->traitBuildResolver ($ config );
5656
@@ -118,10 +118,10 @@ protected function _findIdentity(string $identifier): ArrayAccess|array|EntityIn
118118 }
119119
120120 /**
121- * find user's remember me token.
121+ * find some user's remember me token.
122122 *
123123 * @param \Cake\Datasource\EntityInterface $identity the identity
124- * @param string $series the credentials series
124+ * @param string $series the credential series
125125 * @return \Cake\Datasource\EntityInterface|null
126126 */
127127 protected function _findToken (EntityInterface $ identity , string $ series ): ?EntityInterface
@@ -133,11 +133,15 @@ protected function _findToken(EntityInterface $identity, string $series): ?Entit
133133
134134 $ usersTable = $ this ->getResolver ()->fetchTable ($ userModel );
135135 $ tokenStorageTable = $ this ->getResolver ()->fetchTable ($ this ->getConfig ('tokenStorageModel ' ));
136+ $ primaryKey = $ usersTable ->getPrimaryKey ();
137+ if (!is_string ($ primaryKey )) {
138+ throw new InvalidArgumentException ('User model must have a single primary key. ' );
139+ }
136140
137141 return $ tokenStorageTable ->find ()
138142 ->where ([
139143 'model ' => $ userModel ,
140- 'foreign_id ' => $ identity ->get ($ usersTable -> getPrimaryKey () ),
144+ 'foreign_id ' => $ identity ->get ($ primaryKey ),
141145 'series ' => $ series ,
142146 ])
143147 ->first ();
0 commit comments