SolidOS / SolidOS/solid-ui

Code does not check for session = null when obtaining webId

オープン
#32 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

authentication input-needed
主要言語
TypeScript
スター
153
フォーク
46
平均マージ
1日 8時間
マージ済み PR(30日)
7

説明

How to reproduce

  1. Logged out and cleared localStorage
  2. Attempted to login to https://melvin.solid.live/public/RWWCrew/
  3. Click on custom domain, https://melvincarvalho.com/#me

Observed behaviour

Uncaught (in promise) TypeError: Cannot read property 'webId' of null
    at signin.js:732
    at <anonymous>

in

  signInPopUpButton.addEventListener('click', function () {
    var offline = offlineTestID();
    if (offline) return setUserCallback(offline.uri);
    return solidAuthClient.popupLogin({ popupUri: $SOLID_GLOBAL_config.popupUri }).then(function (session) {
      var webIdURI = session.webId;

Expected Behaviour

What I would expect is to redirect me to my oidc provider, let me log in, and then give me a bearer token

Possible fix

https://github.com/solid/solid-ui/blob/master/src/signin.js#L739 should use webIdFromSession

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

調査の方向性

src/signin.js の 739 行目付近にある signInPopUpButton ハンドラーから開始し、783 行目付近の webIdFromSession とセッション処理を比較します。ログアウト状態でのカスタムドメインのログインフローを再現し、null セッションによって報告された webId TypeError が発生しなくなったこと、および想定されるプロバイダーログインと bearer-token フローを続行できることを確認します。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
javascript
領域
authentication, frontend
issue の種類
バグ
難易度
2/5
見積もり時間
1〜3時間
活発さ
停滞
明瞭さ
明確に書かれている
初心者へのやさしさ
35/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。