0

この観察結果は、CAS 5.3.9 およびhttps://apereo.github.io/cas/5.3.x/installation/OAuth-OpenId-Authentication.htmlのドキュメントに関連しています。

/callbackAuthorize エンドポイントについては言及されていませんが、認証コード フローの実装でこれが見られます。要求のシーケンスは次のとおりです (ユーザーは既に CAS に対して認証されていると想定しています)。

REQ: GET https://localhost:8145/api/profile (アプリケーションの保護されたエンドポイント)

RESP: 302、場所: https://cas-server:8443/cas/oauth2.0/authorize?response_type=code&client_id=client1&redirect_uri=https%3A%2F%2Flocalhost%3A8145%2Fcallback%3Fstate%3Dcsrf

REQ: GET (上記 URL)

RESP: 302、場所: https://cas-server:8443/cas/login?service=https%3A%2F%2F172.16.238.10%3A8443%2Fooscas%2Foauth2.0%2FcallbackAuthorize%3Fclient_id%3Dclient1%26redirect_uri% 3Dhttps%253A%252F%252Flocalhost%253A8145%252Fcallback%253Fstate%253Dcsrf%26response_type%3Dcode%26client_name%3DCasOAuthClient

REQ: GET (上記 URL)

RESP: 302、場所: https://cas-server:8443/cas/oauth2.0/callbackAuthorize?client_id=client1&redirect_uri=https%3A%2F%2Flocalhost%3A8145%2Fcallback%3Fstate%3Dcsrf&response_type=code&client_name=CasOAuthClient&ticket=eyJhbGciOiJIUzUxMiJ9。 ZXlKNmFYQWlPaUpFUlVZaUxDSmhiR2NpT2lKa2FYSWlMQ0psYm1NaU9pSkJNVEk0UTBKRExVaFRNalUySW4wLi5RdURKNXBJZ21zOU1LcldqSmwxMk5BLnRXb3FrSEFIRzcyY2M3U3k4cm9fR0VCS05feThtVjREazBYNU81NVNVY3g0NEFlby1Kc2R3NGszNUM3X1dDVkwuM01Pd3c5ci1mVS1QelROWDVIZkJSUQ%3D%3D.b4rotud6-2s3tOU21-Y0xclwVkVEioTLhiyRhi5VotNfjzt5vKoM2Ix9Hy_OW9KSpuGMqWsBbFOtR9K2B8E6dw&lang=de

REQ: GET (上記 URL)

RESP: 500、内部サーバー エラー (cas サーバー ログに SSL ハンドシェイクの例外が表示されます。おそらくサーバーは、トラストストアに証明書がない URL にアクセスしようとしています)

私の質問:

1) /oauth2.0/callbackAuthorize エンドポイントに関するドキュメントはありますか?

2) CAS サーバーが OAuth2 フローでチケットを発行するのはなぜですか? 代わりにアクセス トークンを生成するべきではありませんか?

3) パラメータ client_name=CasOAuthClient はどこから来たのですか? CAS サーバーは OAuth2 クライアントとして機能しようとしていますか?

4

1 に答える 1