diff --git a/simple_oauth.api.php b/simple_oauth.api.php
index 2079397..029ec24 100644
--- a/simple_oauth.api.php
+++ b/simple_oauth.api.php
@@ -1,5 +1,7 @@
 <?php
 
+use Drupal\simple_oauth\Entities\AccessTokenEntity;
+use Drupal\user\Entity\User;
 /**
  * @file
  * Hooks specific to the Simple OAuth module.
@@ -21,9 +23,9 @@ use Drupal\user\UserInterface;
  *
  * @see \Drupal\simple_oauth\Entities\AccessTokenEntity::convertToJWT()
  */
-function hook_simple_oauth_private_claims_alter(&$private_claims, \Drupal\simple_oauth\Entities\AccessTokenEntity $access_token_entity) {
+function hook_simple_oauth_private_claims_alter(&$private_claims, AccessTokenEntity $access_token_entity) {
   $user_id = $access_token_entity->getUserIdentifier();
-  $user = \Drupal\user\Entity\User::load($user_id);
+  $user = User::load($user_id);
   $private_claims = [
     'mail' => $user->getEmail(),
     'username' => $user->getAccountName(),
diff --git a/simple_oauth.install b/simple_oauth.install
index 21da80f..015002b 100644
--- a/simple_oauth.install
+++ b/simple_oauth.install
@@ -53,7 +53,7 @@ function simple_oauth_update_8403() {
 function simple_oauth_update_8404() {
   $use_implicit = \Drupal::config('simple_oauth_extras.settings')->get('use_implicit');
   if ($use_implicit === NULL) {
-    $config_path = drupal_get_path('module', 'simple_oauth') . '/config/install';
+    $config_path = \Drupal::service('extension.list.module')->getPath('simple_oauth') . '/config/install';
     // Because of custom config_path, we don't call service here.
     $source = new FileStorage($config_path);
     $config_default = $source->read('simple_oauth.settings');
diff --git a/src/Authentication/TokenAuthUser.php b/src/Authentication/TokenAuthUser.php
index 280f3ab..3348408 100644
--- a/src/Authentication/TokenAuthUser.php
+++ b/src/Authentication/TokenAuthUser.php
@@ -314,7 +314,7 @@ class TokenAuthUser implements TokenAuthUserInterface {
    * {@inheritdoc}
    */
   public function urlInfo($rel = 'canonical', array $options = []) {
-    return $this->subject->urlInfo($rel, $options);
+    return $this->subject->toUrl($rel, $options);
   }
 
   /**
@@ -328,7 +328,7 @@ class TokenAuthUser implements TokenAuthUserInterface {
    * {@inheritdoc}
    */
   public function link($text = NULL, $rel = 'canonical', array $options = []) {
-    return $this->subject->link($text, $rel, $options);
+    return $this->subject->toLink($text, $rel, $options)->toString();
   }
 
   /**
diff --git a/tests/src/Functional/AuthCodeFunctionalTest.php b/tests/src/Functional/AuthCodeFunctionalTest.php
index 5174bb7..e48b51f 100644
--- a/tests/src/Functional/AuthCodeFunctionalTest.php
+++ b/tests/src/Functional/AuthCodeFunctionalTest.php
@@ -2,6 +2,7 @@
 
 namespace Drupal\Tests\simple_oauth\Functional;
 
+use function GuzzleHttp\Psr7\parse_query;
 use Drupal\Core\Url;
 use Drupal\user\Entity\Role;
 use Drupal\user\RoleInterface;
@@ -47,7 +48,7 @@ class AuthCodeFunctionalTest extends TokenBearerFunctionalTestBase {
   /**
    * {@inheritdoc}
    */
-  protected function setUp() {
+  protected function setUp(): void {
     parent::setUp();
     $this->redirectUri = Url::fromRoute('oauth2_token.test_token', [], [
       'absolute' => TRUE,
@@ -105,11 +106,12 @@ class AuthCodeFunctionalTest extends TokenBearerFunctionalTestBase {
       'query' => $valid_params,
     ]);
     $this->assertGrantForm();
-
-    // 3. Grant access by submitting the form and get the code back.
-    $this->drupalPostForm($this->authorizeUrl, [], 'Grant', [
+    $this->drupalGet($this->authorizeUrl, [
       'query' => $valid_params,
     ]);
+
+    // 3. Grant access by submitting the form and get the code back.
+    $this->submitForm([], 'Grant');
     // Store the code for the second part of the flow.
     $code = $this->getAndValidateCodeFromResponse();
 
@@ -187,7 +189,7 @@ class AuthCodeFunctionalTest extends TokenBearerFunctionalTestBase {
     $this->assertGrantForm();
 
     // 3. Grant access by submitting the form and get the token back.
-    $this->drupalPostForm(NULL, [], 'Grant');
+    $this->submitForm([], 'Grant');
 
     // Store the code for the second part of the flow.
     $code = $this->getAndValidateCodeFromResponse();
@@ -215,7 +217,7 @@ class AuthCodeFunctionalTest extends TokenBearerFunctionalTestBase {
 
     $this->assertGrantForm();
     $this->assertSession()->pageTextContains($this->extraRole->label());
-    $this->drupalPostForm(NULL, [], 'Grant');
+    $this->submitForm([], 'Grant');
 
     $code = $this->getAndValidateCodeFromResponse();
 
@@ -288,7 +290,7 @@ class AuthCodeFunctionalTest extends TokenBearerFunctionalTestBase {
     $this->assertGrantForm();
 
     // 3. Grant access by submitting the form.
-    $this->drupalPostForm(NULL, [], 'Grant');
+    $this->submitForm([], 'Grant');
 
     // Store the code for the second part of the flow.
     $code = $this->getAndValidateCodeFromResponse();
@@ -333,7 +335,7 @@ class AuthCodeFunctionalTest extends TokenBearerFunctionalTestBase {
     $session = $this->getSession();
     $assert_session->statusCodeEquals(200);
     $parsed_url = parse_url($session->getCurrentUrl());
-    $parsed_query = \GuzzleHttp\Psr7\parse_query($parsed_url['query']);
+    $parsed_query = parse_query($parsed_url['query']);
     $this->assertArrayHasKey('code', $parsed_query);
     return $parsed_query['code'];
   }
diff --git a/tests/src/Functional/ClientCredentialsFunctionalTest.php b/tests/src/Functional/ClientCredentialsFunctionalTest.php
index 06d7132..45a8166 100644
--- a/tests/src/Functional/ClientCredentialsFunctionalTest.php
+++ b/tests/src/Functional/ClientCredentialsFunctionalTest.php
@@ -14,7 +14,7 @@ class ClientCredentialsFunctionalTest extends TokenBearerFunctionalTestBase {
   /**
    * @inheritDoc
    */
-  protected function setUp() {
+  protected function setUp(): void {
     parent::setUp();
     // Client credentials also need a valid default user set.
     $this->client->set('user_id', $this->user)->save();
diff --git a/tests/src/Functional/ImplicitFunctionalTest.php b/tests/src/Functional/ImplicitFunctionalTest.php
index 1d197ec..92f85a7 100644
--- a/tests/src/Functional/ImplicitFunctionalTest.php
+++ b/tests/src/Functional/ImplicitFunctionalTest.php
@@ -35,7 +35,7 @@ class ImplicitFunctionalTest extends TokenBearerFunctionalTestBase {
   /**
    * {@inheritdoc}
    */
-  protected function setUp() {
+  protected function setUp(): void {
     parent::setUp();
     $this->redirectUri = Url::fromRoute('oauth2_token.test_token', [], [
       'absolute' => TRUE,
@@ -83,11 +83,12 @@ class ImplicitFunctionalTest extends TokenBearerFunctionalTestBase {
     $assert_session->titleEquals('Grant Access to Client | Drupal');
     $assert_session->buttonExists('Grant');
     $assert_session->responseContains('Permissions');
-
-    // 3. Grant access by submitting the form and get the token back.
-    $this->drupalPostForm($this->authorizeUrl, [], 'Grant', [
+    $this->drupalGet($this->authorizeUrl, [
       'query' => $valid_params,
     ]);
+
+    // 3. Grant access by submitting the form and get the token back.
+    $this->submitForm([], 'Grant');
     $assert_session = $this->assertSession();
     $assert_session->statusCodeEquals(200);
     $assert_session->addressMatches('/\/oauth\/test#access_token=.*&token_type=Bearer&expires_in=\d*/');
diff --git a/tests/src/Functional/RefreshFunctionalTest.php b/tests/src/Functional/RefreshFunctionalTest.php
index 643d2ee..5c55113 100644
--- a/tests/src/Functional/RefreshFunctionalTest.php
+++ b/tests/src/Functional/RefreshFunctionalTest.php
@@ -24,7 +24,7 @@ class RefreshFunctionalTest extends TokenBearerFunctionalTestBase {
   /**
    * {@inheritdoc}
    */
-  protected function setUp() {
+  protected function setUp(): void {
     parent::setUp();
 
     $this->scope = 'authenticated';
diff --git a/tests/src/Functional/RolesNegotiationFunctionalTest.php b/tests/src/Functional/RolesNegotiationFunctionalTest.php
index ef0fd5e..09b8b6a 100644
--- a/tests/src/Functional/RolesNegotiationFunctionalTest.php
+++ b/tests/src/Functional/RolesNegotiationFunctionalTest.php
@@ -82,7 +82,7 @@ class RolesNegotiationFunctionalTest extends BrowserTestBase {
   /**
    * {@inheritdoc}
    */
-  public function setUp() {
+  public function setUp(): void {
     parent::setUp();
     $this->htmlOutputEnabled = FALSE;
     $this->tokenTestUrl = Url::fromRoute('oauth2_token.user_debug');
diff --git a/tests/src/Functional/TokenBearerFunctionalTestBase.php b/tests/src/Functional/TokenBearerFunctionalTestBase.php
index 37ab4ff..203b906 100644
--- a/tests/src/Functional/TokenBearerFunctionalTestBase.php
+++ b/tests/src/Functional/TokenBearerFunctionalTestBase.php
@@ -91,7 +91,7 @@ abstract class TokenBearerFunctionalTestBase extends BrowserTestBase {
   /**
    * {@inheritdoc}
    */
-  protected function setUp() {
+  protected function setUp(): void {
     parent::setUp();
 
     $this->url = Url::fromRoute('oauth2_token.token');
diff --git a/tests/src/Unit/Authentication/Provider/SimpleOauthAuthenticationTest.php b/tests/src/Unit/Authentication/Provider/SimpleOauthAuthenticationTest.php
index 9b29eb7..b9394c6 100644
--- a/tests/src/Unit/Authentication/Provider/SimpleOauthAuthenticationTest.php
+++ b/tests/src/Unit/Authentication/Provider/SimpleOauthAuthenticationTest.php
@@ -2,6 +2,7 @@
 
 namespace Drupal\Tests\simple_oauth\Unit\Authentication\Provider;
 
+use Prophecy\PhpUnit\ProphecyTrait;
 use Drupal\Core\Entity\EntityTypeManagerInterface;
 use Drupal\Core\PageCache\RequestPolicyInterface;
 use Drupal\simple_oauth\Authentication\Provider\SimpleOauthAuthenticationProvider;
@@ -16,6 +17,7 @@ use Symfony\Component\HttpFoundation\Request;
  */
 class SimpleOauthAuthenticationTest extends UnitTestCase {
 
+  use ProphecyTrait;
   /**
    * The authentication provider.
    *
@@ -32,7 +34,7 @@ class SimpleOauthAuthenticationTest extends UnitTestCase {
   /**
    * {@inheritdoc}
    */
-  protected function setUp() {
+  protected function setUp(): void {
     parent::setUp();
 
     $resource_server = $this->prophesize(ResourceServerInterface::class);
diff --git a/tests/src/Unit/EntityCollectorTest.php b/tests/src/Unit/EntityCollectorTest.php
index a54b572..67a0b88 100644
--- a/tests/src/Unit/EntityCollectorTest.php
+++ b/tests/src/Unit/EntityCollectorTest.php
@@ -2,6 +2,7 @@
 
 namespace Drupal\Tests\simple_oauth\Unit;
 
+use Prophecy\PhpUnit\ProphecyTrait;
 use Drupal\Component\Datetime\TimeInterface;
 use Drupal\Core\Entity\EntityStorageInterface;
 use Drupal\Core\Entity\EntityTypeManagerInterface;
@@ -18,6 +19,7 @@ use Drupal\Tests\UnitTestCase;
  */
 class EntityCollectorTest extends UnitTestCase {
 
+  use ProphecyTrait;
   /**
    * @covers ::collect
    */
