Ok, alors en ce qui concerne les clés d'API, tu peux les enregistrer dans des constantes. Ce sont des données qui ne sont pas amenées à être modifiée mais si ton application est open-source, tu dois trouver un moyen pour ne pas les rendre publiques. Dans le cas contraire, n'importe qui pourra utiliser tes clés d'API et créer des tokens d'authentification en ton nom.
En ce qui concerne les tokens d'authentification, il ne faut pas le redemander à chaque connexion. En gros, tu demandes à l'utilisateur de rentrer son username/password sans sauvegarder ces informations, puis tu fais ta requête au serveur et tu récupères les tokens d'authentification que tu sauvegardes en base de données. Dans le futur, il te suffira de récupérer l'"access token" pour faire des requêtes authentifiées et le "refresh token" pour récupérer à nouveau un token d'authentification sans demander l'username/password de l'utilisateur.
En espérant que j'ai été clair dans mes explications.