外部ブラウザでwoff.login()が「有効でないクライアント情報」となる
認証アプリを下記設定にてjavascriptでwoff.init()→未ログインの場合woff.login(redirecturl)を実装したところ、
リダイレクト先で本来ログイン画面が表示されるところで
「有効でないクライアント情報です。Client IdまたはParameterを確認してください。」
と表示されました。
稼働中の別プログラムではAPIによる情報取得ができていますので,認証アプリとしては有効な設定になっているかと思います。
モバイルアプリのWOFFブラウザでは正常にprofile情報まで取得できますが、
WOFFアプリを外部ブラウザ経由でログイン処理ができません。
※リダイレクト先の認証用URLのパラメータに&scope=openid profileを追加するとログイン画面が表示されますが、
自身のアプリにリダイレクト後、redirect_uri is not valid.エラーになります。
javascriptでの外部ブラウザを使用したログイン処理についてご教授願います。
▼認証アプリ内容
アプリのアクセス権限:私のアカウント()
scope:openid profile security.external-browser security.external-browser.read
User Account認証
Redirect URL:https://ドメイン/app/ 他2つ設定
WOFF 登録
Endpoint URL:https://ドメイン/app/ (上記と同じ)
WOFF URLリダイレクト検証:なし
async function initializeWOFF() {
try {
// 1. 現在の状態を確認
const urlParams = new URLSearchParams(window.location.search);
const hasOAuthParams = urlParams.has('code') && urlParams.has('state');
console.log('OAuth認証パラメータ:', hasOAuthParams ? 'あり' : 'なし');
// 2. WOFF SDK初期化
await woff.init({ woffId: WOFF_ID });
// 3. 環境とログイン状態を確認
const isInClient = woff.isInClient();
const isLoggedIn = woff.isLoggedIn();
console.log('LINE WORKS内ブラウザ:', isInClient);
console.log('ログイン状態:', isLoggedIn);
// 4. 外部ブラウザで未ログインかつOAuth認証前の場合のみログイン
if (!isInClient && !isLoggedIn && !hasOAuthParams) {
updateStatus('loading', 'ログイン画面へリダイレクトします...');
woff.login({
redirectUri: 'https://ドメイン/app/'
});
return;
}
// 5. ログイン済みの場合の処理
updateStatus('success', '✅ WOFF SDK初期化完了');
if (isLoggedIn) {
const profile = await woff.getProfile();
console.log('ユーザー情報:', profile);
showUserInfo(profile, true);
} else {
showUserInfo(null, false);
}
} catch (error) {
console.error('WOFF初期化エラー:', error);
updateStatus('error', '❌ 初期化エラー');
showError(error.message);
}
}
投稿に新しいコメントが追加されましたら通知を送信します。
コメント0
まだ、解決できませんか?
今すぐ実際に使用しているLINE WORKSユーザーに質問してみましょう。