Skip to content

Instantly share code, notes, and snippets.

View nataliaconde's full-sized avatar
🏠
Working from home

Natália Condê nataliaconde

🏠
Working from home
  • SJC - SP, BR
View GitHub Profile
@nataliaconde
nataliaconde / Incognia
Created June 16, 2021 20:01
Incognia Objective-C
[ICGIncognia getInstallationId:^(NSString *installationId) {
if (installationId != nil) {
// NSURLRequest
[request setValue:installationId forHTTPHeaderField:@"Incognia-Installation-ID"];
}
// Send the request with the installationId to your backend server
}];
@nataliaconde
nataliaconde / sessions_controller.rb
Last active June 28, 2021 11:53
Ruby controller/handler
# sessions_controller.rb
class SessionsController < ApplicationController
def create
@login_form = LoginForm.new(params)
if @user = @login_form.submit
sign_in @user
redirect_to @user, notice: "Welcome!"
else
render action: :new
@nataliaconde
nataliaconde / login_form.rb
Last active June 28, 2021 11:54
authentication logic
# login_form.rb
class LoginForm < BaseForm
attr_accessor :email, :password, :incognia_installation_id
validates :email, :password, presence: true
validate :device_risk
# Other validations...
def submit
return nil if invalid?
require 'faraday'
require 'json'
module Incognia
class Api
include Singleton
API_HOST = 'https://api.us.incognia.com/api/'.freeze
def register_login(installation_id:, account_id:)
{
"evidence": {
"account_integrity": {...},
"addresses": [...],
"device_behavior_reputation": "allowed",
"device_fraud_reputation": "allowed",
"device_integrity": {
"emulator": false,
"from_official_store": true,
"gps_spoofing": false,
@nataliaconde
nataliaconde / setUserId.txt
Created June 16, 2021 20:15
setUserId method
Kotlin
Incognia.setUserId(context, <userId>)
Java
Incognia.setUserId(context, <userId>);
Swift
ICGIncognia.setUserId(<userId>)
Objective-C
// components/Task.js
import CardContent from "@mui/material/CardContent";
import Typography from "@mui/material/Typography";
import CardActions from "@mui/material/CardActions";
import Button from "@mui/material/Button";
import Card from "@mui/material/Card";
export default function Task(props) {
return (
// pages/index.js
import Card from "@mui/material/Card";
import CardContent from "@mui/material/CardContent";
import Button from "@mui/material/Button";
import Typography from "@mui/material/Typography";
import {Box, Container, Grid} from "@mui/material";
import Task from "../components/Task";
import * as React from "react";
import {useEffect, useState} from "react";
// pages/add.js
import * as React from "react";
import {useState} from "react";
import {Box, Container, FormControlLabel, FormGroup, Switch, TextField} from "@mui/material";
import Typography from "@mui/material/Typography";
import Button from "@mui/material/Button";
import CardContent from "@mui/material/CardContent";
import Card from "@mui/material/Card";
import Link from "next/link";
// store/storage.js
import {create} from "zustand";
import {persist} from "zustand/middleware";
const useGlobalStore = create(
persist(
(set, get) => ({
tasks: [],
addTask: (params) => {