문제

Java Swing Thick Client를 프론트 엔드 및 Google Appengine (Java One)으로 백엔드로 사용하는 다중 사용자 클라이언트 서버 솔루션을 만들고 싶습니다.

문제는 GAE가 로그인 및 아웃을위한 웹 기반 양식 만 제공하므로 두꺼운 클라이언트에서 Google 계정 기능을 사용하는 사소한 방법이 없다는 것입니다.

GAE WebApp에 두꺼운 클라이언트 로그인 및 로그 아웃을 허용하는 방법에 대한 조언/힌트/아이디어를 제공 할 수 있습니까?

도움이 되었습니까?

해결책

클라이언트 앱이 Google 계정에 대해 인증 할 수있는 방법이 있지만받은 토큰을 Appengine으로 전달할 수 있는지는 모르겠습니다. 보다: 설치된 응용 프로그램 용 ClientLogin

다른 팁

죄송합니다. 간접적으로 만 대답 할 수 있습니다. Google 계정으로 AppSpot.com의 앱에 로그인 할 수 있습니다. 쿠키를 유지하고 여러 서버에 연락을 취하는 등 브라우저가 할 모든 작업을 수행하면됩니다.

나는 몇 달 전에 사산 프로젝트를 위해 이것을 가지고 놀았고, 대부분 로그인하기 위해 컬을 실행하는 쉘 스크립트로 끝났습니다. 아마도 당신은 필요한 것을 가져갈 수 있습니다.

#!/bin/bash

my_app="set-this-to-my-app-id"
url="http://$my_app.appspot.com"
curl='curl --cookie-jar cookies'

if [ -z "$EMAIL" -o -z "$PASS" ]; then
    echo -n 'Email: '
    read EMAIL
    echo -n 'Pass: '
    read PASS
fi

rm -f cookies auth

echo 'Login'
$curl https://www.google.com/accounts/ClientLogin --output auth \
      -d "Email=$EMAIL" -d "Passwd=$PASS" \
      -d accountType=HOSTED_OR_GOOGLE     \
      -d source=$my_app                   \
      -d service=ah

. auth # XXX Be careful here. The output of the above
       # command happens to be Bash syntax too!
rm -f auth

echo 'Logging into app and getting cookie'
$curl "$url/_ah/login?continue=$url/console/&auth=$Auth"

echo
echo 'Example POST query'
$curl -X POST --cookie cookies "$url/some/path" -d 'foo=bar'

echo
rm -f cookies

@jason이 제안한 바와 같이 ClientLogin 승인 프로세스 가이 문제를 해결하고 있습니다.

최소한의 대안 접근 방식으로 웹 기반 (HTML) 양식을 두꺼운 클라이언트에 포함시킬 수 있습니다. 즉, HTML 렌더링을 지원하는 Java 구성 요소를 사용합니다. JEditorPane 와 함께 HTMLEditorKit 이 구성 요소를 스윙 앱 내부에 설치하고 제시하십시오. 최소한 사용자는 앱과 브라우저를 이런 방식으로 전환 할 필요가 없습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top