そのため、私が構築しているこのAPIのOAuth2を可能な限り厳密に実装しようと遊んでいます。私はaccess_tokenを生成する必要がある時点にいますが、これを行うための最良の方法を見つけようとしています。API呼び出しごとにデータベースが検索されないようにするために、人々がレヴナント情報とaccess_token(有効期限、クライアントIDなど)を暗号化している場所を読みました。
私はそれについて考え、考えました。access_tokenを生成するその方法は、アクセスの取り消しをどのように処理しますか?つまり、OAuthを使用する利点の1つは、データベースを検索せずに暗号化されたデータを使用している場合に、アプリケーションのデータへのアクセスを取り消すことができることです。アプリケーションを取り消すと、引き続きアクセスできます。少なくともそのaccess_tokenが期限切れになるまで私のデータに。
リレーショナルデータベースでのルックアップを防ぐためのより良い方法は、access_tokenをキー/値データベース(redisなど)にも保存することです。これは少し高速になるためです。このようにして、誰かがアプリケーションへのアクセスを取り消すと、リレーショナルデータベースとキー/値データの両方のレコードを削除できます。
何かが足りませんか?暗号化されたデータをaccess_tokenに使用し、データベースが各API呼び出しを検索しないようにし、いつでもアクセスを取り消すことができるようにする方法はありますか?