2021-01-01から1年間の記事一覧
こんにちは!kossyです! 今回はSmart Health Cardの発行と検証を行えるGem 「health_cards」をRails開発環境で動かす手順について、ブログに残してみたいと思います。 環境 Ruby 2.7.4 Rails 6.1.3.1 MacOS Catalina 環境構築 以下のページからソースコード…
こんにちは!kossyです! 今回は、RubyのOpenStrictクラスの使い方を saml-idp という Gem のコード内での使い方を見て、理解を深めてみたいと思います。 ドキュメントを見る 公式のOpenStrictクラスのドキュメントを見てみます。docs.ruby-lang.org 要素を…
こんにちは!kossyです! さて、今回はsendgridでメールの一斉配信をする際に宛先ごとに異なる文字列を仕込む方法について、ブログに残してみたいと思います。 環境 Ruby 2.6.9 Rails 6.0.4 X-SMTPAPIの Substitution Tags を使う 以下のドキュメントによる…
こんにちは!kossyです! 今回は ruby-saml でX509証明書の有効期限を取得する方法について、備忘録としてブログに残してみたいと思います。 環境 Ruby 2.6.9 Rails 6.0.4 ruby-saml 1.13.0 not_afterメソッド 結論から言うと、OpenSSL::X509::Certificate#n…
こんにちは!kossyです! 今回はdeviseで認証機能を利用する際に必要になるカラムである、「encrypted_password」カラム に値が保存される仕組みを調べてみたので、備忘録としてブログに残してみたいと思います。 環境 Ruby 3.0.3 Rails 6.0.4 devise 4.8.1 …
こんにちは!kossyです! 今回はRailsでPostgreSQLを使う際にgen_random_uuid関数を有効化する方法について、備忘録としてブログに残してみたいと思います。 環境 Ruby 2.6.9 Rails 6.0.4 PostgreSQL 13系 マイグレーションファイルの作成 gen_random_uuid関…
こんにちは!kossyです! 今回はdevise-two-factorでの2要素認証設定時にdigestを変更する方法について、ブログに残してみたいと思います。 環境 Ruby 2.6.9 Rails 6.0.4 MacOS BigSur devise-two-factor 4.0.1 otpメソッドのオーバーライド devise-two-fact…
こんにちは!kossyです! さて、今回はRubyで五捨五超入する方法について、備忘録としてブログに残してみたいと思います。 環境 Ruby 2.6.9 五捨五超入とは 主に薬価の計算を行う時に用いる端数処理で、薬価の円を点数に直して計算するときに使われます。www…
こんにちは!kossyです! さて、今回はgraphql-rubyで認可制御を行うready?メソッドとauthorized?メソッドについて、備忘録としてブログに残してみたいと思います。 環境 Ruby 2.6.9 Rails 6.0.4 MacOS BigSur graphql-ruby 1.13.0 graphql-rubyでの認可制御…
こんにちは!kossyです! 今回はパスワードリセット機能を提供するdeviseのrecoverableモジュールのソースコードを追ってみたので、備忘録としてブログに残してみたいと思います。 環境 Ruby 2.6.9 Rails 6.0.4 MacOS BigSur createアクション まずはcreate…
こんにちは!kossyです! さて、今回はdevise-securiyのsession_limitableのソースコードを追ってみたので、備忘録としてブログに残してみたいと思います。 環境 Ruby 2.6.8 Rails 6.0.4 MacOS BigSur devise-security 0.16.1 前提 devise-securityのsession…
こんにちは!kossyです! さて、今回は認証機能を提供するGem「devise」のextensionで、エンタープライズな認証機能を実現するdevise-securityのsession_limitableを使ってみたので、備忘録としてブログに残してみたいと思います。 環境 Ruby 2.6.8 Rails 6.…
こんにちは!kossyです! 今回はSSOを実現するGem「ruby-saml」で「Invalid Signature on SAML Response」が返ってきた場合の調査方法について、備忘録としてブログに残してみたいと思います。 環境 Ruby 2.6.8 Rails 6.0.4 MacOS BigSur ruby-saml 1.13.0 …
こんにちは!kossyです! 今回はSSOを実現するGem「ruby-saml」で「Invalid settings, idp_sso_service_url is not set!」が発生した場合の対処法について、備忘録としてブログに残してみたいと思います。 環境 Ruby 2.6.8 Rails 6.0.4 MacOS BigSur ruby-sa…
こんにちは!kossyです! 今回は、前回のブログで追いきれなかった、SamlAuthenticatable::SamlResponseのソースコードを追ってみようと思います。前回のブログkossy-web-engineer.hatenablog.com 環境 Ruby 2.6.8 Rails 6.0.4 MacOS BigSur devise_saml_aut…
こんにちは!kossyです! 今回は、DeviseベースでSAML SSOを実現する 「devise_saml_authenticatable」のソースコードを追ってみたので、備忘録としてブログに残してみたいと思います。 環境 Ruby 2.6.8 Rails 6.0.4 MacOS BigSur devise 4.8.0 devise_saml_…
こんにちは!kossyです! 今回はRack::MockRequestのenv_forメソッドとRack::Requestクラスを使って、Rack::Requestのbodyのrack.inputをいじっていて気づいたことがあったので、 備忘録としてブログに残してみたいと思います。 環境 Ruby 2.6.8 Rails 6.0.4…
こんにちは!kossyです! 今回はgraphql-rubyでCustom Scalarsを定義する方法について、備忘録としてブログに残してみたいと思います。 環境 Ruby 2.6.8 Rails 6.0.4 MacOS BigSur graphql-ruby 1.12.19 CustomScalarsとは graphqlにはデフォルトで組み込ま…
こんにちは!kossyです! 環境 Ruby 2.6.8 Rails 6.0.4 MacOS BigSur pundit 2.1.1 なお、Userモデル、Postモデル、Commentモデルが存在するものとします。 policy_classの使い方 例えば、CommentクラスのインスタンスにPostモデルのPolicyを実行したいケー…
こんにちは!kossyです! 今回は、SAMLでのSSOを実現するGem「ruby-saml」のソースコードを追ってみた(SamlResponseだけ)ので、 備忘録としてブログに残してみたいと思います。 環境 Ruby 2.6.8 Rails 6.0.4.1 MacOS Catalina なお、IdPにはLINE WORKSを用い…
こんにちは!kossyです! 今回は保存していない親レコードに紐づく子レコードにpluckメソッドを使って、意図通り動作しない事象に遭遇したため、備忘録としてブログに残してみたいと思います。 環境 Ruby 2.6.8 Rails 6.0.4 MacOS BigSur pluckメソッド Rail…
こんにちは!kossyです! 今回は、SAMLでのSSOを実現するGem「ruby-saml」のソースコードを追ってみた(SamlResponseだけ)ので、 備忘録としてブログに残してみたいと思います。 環境 Ruby 2.6.8 Rails 6.0.4.1 MacOS Catalina なお、IdPにはLINE WORKSを用い…
こんにちは!kossyです! 今回は、SAMLでのSSOを実現するGem「ruby-saml」のソースコードを追ってみた(SamlRequestだけ)ので、 備忘録としてブログに残してみたいと思います。 環境 Ruby 2.6.8 Rails 6.0.4.1 MacOS Catalina なお、IdPにはLINE WORKSを用い…
こんにちは!kossyです!さて、今回はSAML認証のクライアント側を実装できるGem「ruby-saml」でLINE WORKSのSAML2.0でSSOをHerokuにデプロイした環境で試してみたので、備忘録としてブログに残してみたいと思います。 環境 Ruby 2.6.8 Rails 6.0.4.1 MacOS C…
こんにちは!kossyです!さて、今回はSAML認証のクライアント側を実装できるGem「ruby-saml」でLINE WORKSのSAML2.0でSSOを試してみたので、備忘録としてブログに残してみたいと思います。 環境 Ruby 2.6.8 Rails 6.0.4.1 MacOS Catalina saml-spレポジトリ…
こんにちは!kossyです! 今回は、過去に使用されたパスワードの再設定を制限するdevise-securityの「PasswordArchivable」のソースコードを追う機会があったので、ブログに残してみたいと思います。 偉大なる本家レポジトリ 環境 Ruby 2.6.8 Rails 6.0.4.1 …
こんにちは!kossyです! 今回はアプリ開発環境に開発途中でdockerを用いた環境構築を行った際に軽くハマったことをブログに残してみたいと思います。 環境 Ruby 2.6.8 Rails 6.0.4.1 Docker-Compose 1.27.0 docker-compose build が通らない 以下のようなdo…
こんにちは!kossyです! 今回は環境変数を管理できるGem「figaro」を個人開発アプリに導入してみたので、備忘録としてブログに残してみたいと思います。 偉大なる本家レポジトリgithub.com 環境 Ruby 2.6.8 Rails 6.0.4.1 docker-compose 1.27.0 導入 まず…
こんにちは!kossyです! 今回は、ActionDispatch::Http::URLのsubdomainメソッドのソースコードを読む機会があったので、備忘録としてブログに残してみたいと思います。 環境 Ruby 2.6.6 Rails 6.1.0 MacOS BigSur subdomainメソッド ソースコードの位置は…
こんにちは!kossyです! 今回は、ログイン周りの追跡を実現する、deviseの「trackable」のソースコードを追ってみたので、ブログに残してみたいと思います。 環境 Ruby 2.6系 Rails 6.0.4 devise 4.8.0 github.com trackableモジュールとは ソースコード内…